《Python编程:从入门到实践》习题答案——第11章 测试代码

# 11-1 城市和国家

# city_functions.py
def city_country_func(city, country, population = ''):
    """生成城市和国家"""
    if population:
        str = city + ' ' + country + ' ' + 'population=' + population
    else:
        str = city + "," + country
    return str

from city_functions import city_country_func
import unittest

class CityTestCase(unittest.TestCase):
    """测试city_functions.py"""
    def test_city_country(self):
        formatted_city_country = city_country_func('Beijing', 'China')
        self.assertEqual(formatted_city_country, "Beijing,China")

# 11-2 人口数量
from city_functions import city_country_func
import unittest

class CityTestCase(unittest.TestCase):
    """测试city_functions.py"""
    def test_city_country(self):
        formatted_city_country = city_country_func('Beijing', 'China')
        self.assertEqual(formatted_city_country, "Beijing,China")

    def test_city_country_population(self):
        formatted_city_country_population = city_country_func('santiago','chile','5000000')
        self.assertEqual(formatted_city_country_population, 'santiago chile population=5000000')

# 11-3 雇员

# employee.py
class Employee(object):
    """decstring for Employee"""
    def __init__(self, first_name, last_name, salary):
        self.first_name = first_name
        self.last_name = last_name
        self.salary = int(salary)
    def give_raise(self, increase = ''):
        if increase != '':
            self.salary += ''
        else:
            self.salary += 5000

import unittest
from employee import Employee

class TestEmployee(unittest.TestCase):
    def setUp(self):
        self.employee = Employee('LeBron', 'james', 15000)

    def test_give_default_raise(self):
        self.test_employee.give_raise(10000)

    def test_give_custom_raise(self):
        self.test_employee.give_raise()

unittest.main()

class TestEmployee(unittest.TestCase):
    def setUp(self):
        self.my_employee = Employee("郑超", "23", 5000)

    def test_give_default_raise(self):
        self.my_employee.give_raise()
        self.assertEqual(10000, self.my_employee.money)

    def test_give_custom_raise(self):
        self.my_employee.give_raise(10000)
        self.assertEqual(15000, self.my_employee.money)

if __name__ == '__main__':
    unittest.main()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值