您的位置:首页 > 编程语言 > Python开发

Python编程:从入门到实践(课后习题11)

2017-09-19 11:07 567 查看
# 11-1 城市和国家
# city_functions.py
def city_country(city, country):
city = city
country = country
cc = city + ' ' + country
return cc.title()

# test_cities.py
import unittest
from city_functions import city_country

class NamesTestCase(unittest.TestCase):

def test_city_country(self):
formatted_city = city_country('santiago', 'chile')
self.assertEqual(formatted_city, 'Santiago Chile')

unittest.main()

# 11-2 人口数量
# city_functions.py
def city_country(city, country, population=''):
city = city
country = country
population = population
if population:
cc = city + ' ' + country + ' - population ' + str(population)
else:
cc = city + ' ' + country
return cc.title()

# test_cities.py
import unittest
from city_functions import city_country

class NamesTestCase(unittest.TestCase):

def test_city_country(self):
formatted_city = city_country('santiago', 'chile')
self.assertEqual(formatted_city, 'Santiago Chile')

def test_city_country_population(self):
formatted_population = city_country('santiago', 'chile', 5000000)
self.assertEqual(formatted_population, 'Santiago Chile - Population 5000000')

unittest.main()

# 11-3 雇员
# employee.py
class Employee():

def __init__(self, firstname, lastname, salary):
self.firstname = firstname
self.lastname = lastname
self.salary = salary

def give_raise(self, add_salary=5000):
self.salary += add_salary

# test_employee.py
import unittest
from employee import Employee

class EmployeeTestCase(unittest.TestCase):

def test_give_default_raise(self):
formatted_default = Employee('zhou', 'kai', 2000)
formatted_default.give_raise()
self.assertEqual(formatted_default.salary, 7000)

def test_give_custom_raise(self):
formatted_default = Employee('zhou', 'kai', 2000)
formatted_default.give_raise(8000)
self.assertEqual(formatted_default.salary, 10000)

unittest.main()

# setUp()方法
# test_employee.py
import unittest
from employee import Employee

class EmployeeTestCase(unittest.TestCase):

def setUp(self):
self.formatted_default = Employee('zhou', 'kai', 2000)

def test_give_default_raise(self):
self.formatted_default.give_raise()
self.assertEqual(formatted_default.salary, 7000)

def test_give_custom_raise(self):
self.formatted_default.give_raise(8000)
self.assertEqual(formatted_default.salary, 10000)

unittest.main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: