1import unittest
2
3import solution
4
5
6class TestSanity(unittest.TestCase):
7 """Check if all data is present."""
8
9 def test_lyutenitsa_data(self):
10 names = ['viktors_ingredients', 'georgis_ingredients', 'shopping_list', 'unique_ingredients', 'ingredient_quantities', 'number_of_ingredients_to_buy']
11 unimported = [name for name in names if name not in dir(solution)]
12 self.assertEqual(unimported, [], '\n\nЕлементите по-горе липсват (проверете си имената)!')
13
14
15if __name__ == '__main__':
16 unittest.main()
1import unittest
2
3from solution import *
4
5
6class TestLyutenitsa(unittest.TestCase):
7 """Test that all the neccessary data for making lyutenitsa is good."""
8
9 def test_viktors_ingredients(self):
10 """Viktor's ingredients should match the recipe."""
11 self.assertEqual(viktors_ingredients,
12 ['чушки', 'домати', 'моркови', 'ябълки', 'сол',
13 'черен пипер', 'кимион', 'зехтин'])
14
15 def test_georgis_ingredients(self):
16 """Georgi's ingredients should match the recipe."""
17 self.assertEqual(georgis_ingredients,
18 ('чушки', 'домати', 'патладжан', 'люти чушки', 'олио',
19 'захар', 'чубрица', 'черен пипер', 'врачанска ракия'))
20
21 def test_viktors_ingredients_type(self):
22 """Viktor's ingredients should be in a list."""
23 self.assertIsInstance(viktors_ingredients, list)
24
25 def test_georgis_ingredients_type(self):
26 """Georgi's ingredients should be in a tuple."""
27 self.assertIsInstance(georgis_ingredients, tuple)
28
29 def test_shopping_list(self):
30 """The shopping list should contain all elements (reversed)."""
31 self.assertEqual(shopping_list,
32 ['врачанска ракия', 'черен пипер', 'чубрица', 'захар',
33 'олио', 'люти чушки', 'патладжан', 'домати', 'чушки',
34 'зехтин', 'кимион', 'черен пипер', 'сол', 'ябълки',
35 'моркови', 'домати', 'чушки'])
36
37 def test_unique_ingredients(self):
38 """The unique ingredient list should contain all unique ingredients."""
39 # Make a more roundabout comparison, so that it's indepentent
40 # from the type of unique_ingredients
41 expected_ingredients = {'врачанска ракия', 'черен пипер', 'чубрица',
42 'захар', 'олио', 'люти чушки', 'патладжан',
43 'домати', 'чушки', 'зехтин', 'кимион',
44 'ябълки', 'моркови', 'сол'}
45 for item in expected_ingredients:
46 self.assertIn(item, unique_ingredients)
47 self.assertEqual(len(expected_ingredients), len(unique_ingredients))
48
49 def test_ingredient_quantities(self):
50 """All ingredients should have a quantity of 5, except for skyr (1)."""
51 self.assertEqual(ingredient_quantities,
52 {'врачанска ракия': 5, 'черен пипер': 5, 'чубрица': 5,
53 'захар': 5, 'олио': 5, 'люти чушки': 5, 'чушки': 5,
54 'патладжан': 5, 'домати': 5, 'зехтин': 5, 'кимион': 5,
55 'ябълки': 5, 'моркови': 5, 'сол': 5, 'skyr': 1})
56
57 def test_number_of_ingredients_to_buy(self):
58 """The number of ingredients to buy should be 14."""
59 self.assertEqual(number_of_ingredients_to_buy, 15)
60
61
62if __name__ == '__main__':
63 unittest.main()
|
Виктор Бечев
11.10.2024 15:36@Илиан_Запрянов - второто.
@Никола_Георгиев - ако нашият отговор ще спойлне решението - ние и на теб няма да отговорим.
Ако въпросът ти ще го спойлне - сигурен ли си, че е въпрос по условието?
Като цяло - въпросите е окей да си пишат тук във всички случаи, освен когато не става въпрос за нещо, което, както ти отбеляза, би дало на колегите ти част от решението на задачата.
Алтернативно - остави коментар в собственото си решение ако не си сигурен. :)
|
Никола Георгиев
11.10.2024 13:53Имам въпрос. Ама не знам дали тук да го задам или на ЛС, защото може да спойлне репението.
Като цяло в какви ситуации е ок да се пишат въпросите тук и какви са алтернативите
|
Илиан Запрянов
11.10.2024 13:27"Пазарски списък, който е комбинация от двете горни колекции, като първо е тази за лютеницата на Виктор, после - за Георги (по азбучен ред, не защото лютеницата на един от двамата е по-хубава)"
Комбинация означава
[["чушки", "домати", "моркови", "ябълки", "сол", "черен пипер", "кимион", "зехтин"], ("чушки", "домати", "патладжан", "люти чушки", "олио", "захар", "чубрица", "черен пипер", "врачанска ракия",)]
или
["чушки", "домати", "моркови", "ябълки", "сол", "черен пипер", "кимион", "зехтин", "чушки", "домати", "патладжан", "люти чушки", "олио", "захар", "чубрица", "черен пипер", "врачанска ракия"]
|