Kiểm tra các phép tính
Đầu tiên chúng ta sẽ tạo file test_calc.py, sau đó import thư viện unittest và file calc.py chứa các hàm như add, subtract, multiply, devide.
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]import unittest[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]import calc[/COLOR][/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]class TestCalc(unittest.TestCase):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def test_add(self):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.add(5,5),10)[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.add(-1,1),0)[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def test_subtract(self):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.subtract(6,3),3)[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.subtract(-1,1),-2)[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def test_multiply(self):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.multiply(3,3),9)[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.multiply(-2,-3),6)[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def test_devide(self):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(calc.devide(6,2),3)[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]self.assertEqual(calc.devide(-1,-1),1)[/COLOR][/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]if __name__=='__main__':[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]unittest.main()[/COLOR][/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]def add(a,b):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]return a+b[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def subtract(a,b):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]return a-b[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def multiply(a,b):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]return a*b[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def devide(a,b):[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]return a/b[/COLOR][/FONT]
Lấy tên nhà sản xuất, loại thiết bị và trả về tên đầy đủ của thiết bị
Đầu tiên chúng ta sẽ tạo file test_device_name.py, import thư viện unittest và file device_name.py chứa hàm device _name
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]from device_name import parse_device_name[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]import unittest[/COLOR][/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]class NamesTestCase(unittest.TestCase):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]def test_parse_device_name(self):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]result = parse_device_name("Cisco","Router","2911")[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]self.assertEqual(result,"Cisco Router 2911")[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]if __name__=="__main__":[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]unittest.main()[/COLOR][/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]def parse_device_name(vendor, device_type, platform):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]full_name = vendor + ' '+device_type+' '+platform[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]return full_name.title()[/COLOR][/FONT]
Nhưng nếu chúng ta gặp trường hợp tên thiết bị như “Cisco Router 2911 SEC” thì khi đó chạy test sẽ fail
Chúng ta sẽ vào file test_device_name.py và sửa lại như sau
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]def test_parse_device_name_(self):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]result = parse_device_name("Cisco","Router","2911","Sec")[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]self.assertEqual(result,"Cisco Router 2911 Sec")[/COLOR][/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman][COLOR=black]def parse_device _name(vendor, device_type,platform, spec=''):[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]if spec !='':[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]full_name = vendor +' '+device_type+' '+platform+' '+spec[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]else:[/COLOR][/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman][COLOR=black]full_name = vendor +' '+device_type+' '+platform[/COLOR][/FONT][/FONT] [FONT=Times New Roman][COLOR=black]return full_name.title()[/COLOR][/FONT]
Thank you.
Nguồn : VNPRO