# 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()