1import unittest
2from unittest.mock import mock_open, patch
3from secret import validate_recipe, RuinedNikuldenDinnerError
4
5class TestNikuldenValidator(unittest.TestCase):
6
7 def test_valid_recipe(self):
8 er_maluk_no_golqm = "ь"
9 mock_file = mock_open(read_data=f"""Дръжте си щастливия Шаран на каишка, че хапе съседската с{er_maluk_no_golqm.upper()}онГа.
10 От време на време се чудя дали рибите имат национални идентичности и
11 дали има риБешКа версия на Хаджи Димитър.
12 Та жива ли някоя РиБА на Балкана
13 потънала в кърви, лежи и пъшка
14 РИба с дълбока на гърди рана,
15 рибА във младост и в сила РибЕНа.""")
16 with patch('builtins.open',mock_file) as file_elena: #Safe word
17 self.assertTrue(validate_recipe("valid.txt"))
18
19 def test_invalid_recipe(self):
20 mock_file = mock_open(read_data="Яок рибок!")
21 with patch('builtins.open', mock_file) as file_elena:
22 self.assertFalse(validate_recipe("not_so_valid.txt"))
23
24 def test_bad_recipe_file(self):
25 with patch("builtins.open", side_effect=OSError ):
26 with self.assertRaises(RuinedNikuldenDinnerError):
27 validate_recipe("extra_wrong_file.txt")
28
29if __name__ == '__main__':
30 unittest.main()
F...
======================================================================
FAIL: test_naive_in_validator (test.TestTestNikuldenValidator.test_naive_in_validator)
Test with implementation missing word splits.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 92, in test_naive_in_validator
self.assertFalse(result.wasSuccessful(),
AssertionError: True is not false : Expecting test_invalid_recipe to fail with an implementation missing word splits.
----------------------------------------------------------------------
Ran 4 tests in 0.014s
FAILED (failures=1)
Виктор Бечев
07.12.2024 11:48Дребни неща са, но ще продължим да ги споменаваме - все още имаш неразбирателства с интервалите тук-таме (спрямо PEP8).
|
n | n | 1 | import unittest | ||
2 | from unittest.mock import mock_open, patch | ||||
1 | from secret import validate_recipe, RuinedNikuldenDinnerError | 3 | from secret import validate_recipe, RuinedNikuldenDinnerError | ||
n | 2 | import unittest | n | ||
3 | #Въпросче: Как е прието да се подреждат импортите? В C# са ми казвали да слагам от локално към глобално, което значи вътрешно-програмни импорти са първи, следват вградени библиотеки и накрая допълнително добавени такива. | ||||
4 | #Иначе питано така ок ли е? или да сменя подредбата на импорта на unittest и secret? | ||||
5 | 4 | ||||
6 | class TestNikuldenValidator(unittest.TestCase): | 5 | class TestNikuldenValidator(unittest.TestCase): | ||
7 | 6 | ||||
8 | def test_valid_recipe(self): | 7 | def test_valid_recipe(self): | ||
9 | er_maluk_no_golqm = "ь" | 8 | er_maluk_no_golqm = "ь" | ||
n | 10 | with open ("valid.txt") as file_elena: #Safe word | n | ||
11 | file_elena.write(f"Дръжте си щастливия Шаран на каишка, че хапе съседската с{er_maluk_no_golqm.upper()}онГа.") | 9 | mock_file = mock_open(read_data=f"""Дръжте си щастливия Шаран на каишка, че хапе съседската с{er_maluk_no_golqm.upper()}онГа. | ||
12 | file_elena.write("""От време на време се чудя дали рибите имат национални идентичности и | 10 | От време на време се чудя дали рибите имат национални идентичности и | ||
13 | дали има риБешКа версия на Хаджи Димитър. | 11 | дали има риБешКа версия на Хаджи Димитър. | ||
14 | Та жива ли някоя РиБА на Балкана | 12 | Та жива ли някоя РиБА на Балкана | ||
15 | потънала в кърви, лежи и пъшка | 13 | потънала в кърви, лежи и пъшка | ||
16 | РИба с дълбока на гърди рана, | 14 | РИба с дълбока на гърди рана, | ||
n | 17 | рибА във младост и в сила РибЕНа.""") #Явно е че не съм се вслушал в уговорка 2 | n | 15 | рибА във младост и в сила РибЕНа.""") |
16 | with patch('builtins.open',mock_file) as file_elena: #Safe word | ||||
18 | self.assertTrue(validate_recipe("valid.txt")) | 17 | self.assertTrue(validate_recipe("valid.txt")) | ||
19 | 18 | ||||
20 | def test_invalid_recipe(self): | 19 | def test_invalid_recipe(self): | ||
n | 21 | with open ("not_so_valid.txt") as file_elena: | n | 20 | mock_file = mock_open(read_data="Яок рибок!") |
22 | file_elena.write("Яок рибок!") #simple and straight to the point. Cant hog all your time драги Учителски колектив! | 21 | with patch('builtins.open', mock_file) as file_elena: | ||
23 | self.assertFalse(validate_recipe("not_so_valid.txt")) | 22 | self.assertFalse(validate_recipe("not_so_valid.txt")) | ||
24 | 23 | ||||
25 | def test_bad_recipe_file(self): | 24 | def test_bad_recipe_file(self): | ||
t | t | 25 | with patch("builtins.open", side_effect=OSError ): | ||
26 | with self.assertRaises(RuinedNikuldenDinnerError): | 26 | with self.assertRaises(RuinedNikuldenDinnerError): | ||
27 | validate_recipe("extra_wrong_file.tnt") | 27 | validate_recipe("extra_wrong_file.txt") | ||
28 | 28 | ||||
29 | if __name__ == '__main__': | 29 | if __name__ == '__main__': | ||
30 | unittest.main() | 30 | unittest.main() |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|