Python编程:从入门到实践 练习答案 Chapter11

20211107

11-1
city_functions.py
def get_city_country(city, country):
    return city.title() + ', ' + country.title()


test_cities.py
import unittest
from city_functions import get_city_country

class CityTestCase(unittest.TestCase):    
    def test_get_city_country(self):
        formatted_city = get_city_country('changsha', 'china')
        self.assertEqual(formatted_city, 'Changsha, China')
unittest.main()

11-2
 city_functions.py
 def get_city_country(city, country, population=''):
    if population:
        return city.title() + ', ' + country.title() + \
            ' -population ' + population
    else:
        return city.title() + ', ' + country.title()


test_cities.py
import unittest
from city_functions import get_city_country

class CityTestCase(unittest.TestCase):  
    def test_get_city_country(self):
        formatted_city = get_city_country('changsha', 'china')
        self.assertEqual(formatted_city, 'Changsha, China') 
               
    def test_get_city_country_population(self):
        formatted_city = get_city_country('changsha', 'china', '12966836')
        self.assertEqual(formatted_city, \
                         'Changsha, China -population 12966836')
unittest.main()        

11-3
empoy.py
class Employee():
    def __init__(self, givenname, surname, salary):
        self.givenname = givenname
        self.surname = surname
        self.salary = salary
        
    def give_raise(self, add_salary = 5000):
        self.salary += add_salary
        return self.salary   #---------------don't missed    


testemploy.py
import unittest
from employ import Employee

class TestEmployee(unittest.TestCase):
    def setUp(self):
        self.emp1 = Employee('g', 's', 1000000)
        
    def test_give_default_raise(self):
        raised_salary = self.emp1.give_raise()
        self.assertEqual(raised_salary, 1005000)
              
    def test_give_custom_raise(self):
        raised_salary = self.emp1.give_raise(10000)
        self.assertEqual(raised_salary, 1010000)
        
unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值