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

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

你可能感兴趣的:(python)