1. 程式人生 > >第六週(11章)

第六週(11章)

11-1:城市和國家

city_funtions.py

def country_and_city(city, country):
    return city.title() + ', '+ country.title();
test_cites.py
from city_funtions import country_and_city
import unittest
class CityTestCase(unittest.TestCase):
    def test_city(self):
        result = country_and_city('santiago', 'chile')
        self.assertEqual(result, 'Santiago, Chile')
unittest.main()
程式執行結果為
.
----------------------------------------------------------------------
Ran 1 test in 0.001s

OK


------------------
(program exited with code: 0)

11-2人口數量

city_funtions.py

def country_and_city(city, country):
    return city.title() + ', '+ country.title() + ' - ' + str(population);
test_cites.py
from city_funtions import country_and_city
import unittest
class CityTestCase(unittest.TestCase):
    def test_city_country(self):
        result = country_and_city('santiago', 'chile')
        self.assertEqual(result, 'Santiago, Chile')
unittest.main()

執行結果為


city_funtions.py改為

def country_and_city(city, country , population=''):
    if population:
        return city.title() + ', '+ country.title() + ' - ' + str(population);
    else :
        return city.title() + ', '+ country.title()

執行結果為


test_cites.py改為


from city_funtions import country_and_city
import unittest

class CityTestCase(unittest.TestCase):
    def test_city(self):
        result = country_and_city('santiago', 'chile')
        self.assertEqual(result, 'Santiago, Chile')
    def test_city_country_population(self):
        result = country_and_city('santiago', 'chile', 5000)
        self.assertEqual(result, 'Santiago, Chile - 5000')
unittest.main()

執行結果為


11-3 僱員

employee.py

class Employee():
    def __init__(self, name, last_name, money):
        self.first_name = name
        self.last_name = last_name
        self.money = money
    def give_raise(self , add = 5000):
        self.money += add

test_employee.py

from employee import Employee
import unittest

class TestEmployee(unittest.TestCase):
    def setUp(self):
        self.employee = Employee('Hua' , 'Liao', 10000)

    def test_give_deafault(self):
        self.employee.give_raise()
        self.assertEqual(self.employee.money, 15000)
        
    def test_give_custom_raise(self):
        self.employee.give_raise(10000)
        self.assertEqual(self.employee.money, 20000)
        
unittest.main()

執行結果