diff --git a/.coverage b/.coverage new file mode 100644 index 000000000..54cf2c97a Binary files /dev/null and b/.coverage differ diff --git a/__pycache__/__init__.cpython-314.pyc b/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 000000000..0e54e6a52 Binary files /dev/null and b/__pycache__/__init__.cpython-314.pyc differ diff --git a/__pycache__/bun.cpython-314.pyc b/__pycache__/bun.cpython-314.pyc new file mode 100644 index 000000000..b56999917 Binary files /dev/null and b/__pycache__/bun.cpython-314.pyc differ diff --git a/__pycache__/burger.cpython-314.pyc b/__pycache__/burger.cpython-314.pyc new file mode 100644 index 000000000..b09d60191 Binary files /dev/null and b/__pycache__/burger.cpython-314.pyc differ diff --git a/__pycache__/ingredient.cpython-314.pyc b/__pycache__/ingredient.cpython-314.pyc new file mode 100644 index 000000000..ef7d89cc0 Binary files /dev/null and b/__pycache__/ingredient.cpython-314.pyc differ diff --git a/__pycache__/praktikum.cpython-314.pyc b/__pycache__/praktikum.cpython-314.pyc new file mode 100644 index 000000000..755980bb7 Binary files /dev/null and b/__pycache__/praktikum.cpython-314.pyc differ diff --git a/burger.py b/burger.py index 2b3b6a88b..3f71aaa29 100644 --- a/burger.py +++ b/burger.py @@ -1,7 +1,7 @@ from typing import List -from praktikum.bun import Bun -from praktikum.ingredient import Ingredient +from bun import Bun +from ingredient import Ingredient class Burger: diff --git a/database.py b/database.py index 4c75baf71..84d3685d0 100644 --- a/database.py +++ b/database.py @@ -1,8 +1,8 @@ from typing import List -from praktikum.bun import Bun -from praktikum.ingredient import Ingredient -from praktikum.ingredient_types import INGREDIENT_TYPE_SAUCE, INGREDIENT_TYPE_FILLING +from bun import Bun +from ingredient import Ingredient +from ingredient_types import INGREDIENT_TYPE_SAUCE, INGREDIENT_TYPE_FILLING class Database: diff --git a/praktikum.py b/praktikum.py index ec522fa6d..88b77abd1 100644 --- a/praktikum.py +++ b/praktikum.py @@ -1,9 +1,9 @@ from typing import List -from praktikum.bun import Bun -from praktikum.burger import Burger -from praktikum.database import Database -from praktikum.ingredient import Ingredient +from bun import Bun +from burger import Burger +from database import Database +from ingredient import Ingredient def main(): diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/__pycache__/__init__.cpython-314.pyc b/tests/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 000000000..a707abe8f Binary files /dev/null and b/tests/__pycache__/__init__.cpython-314.pyc differ diff --git a/tests/__pycache__/test_burger.cpython-314-pytest-9.0.3.pyc b/tests/__pycache__/test_burger.cpython-314-pytest-9.0.3.pyc new file mode 100644 index 000000000..7bad816e5 Binary files /dev/null and b/tests/__pycache__/test_burger.cpython-314-pytest-9.0.3.pyc differ diff --git a/tests/test_burger.py b/tests/test_burger.py new file mode 100644 index 000000000..3302fe35e --- /dev/null +++ b/tests/test_burger.py @@ -0,0 +1,106 @@ +import pytest +from unittest.mock import Mock +from burger import Burger + +class TestBurger: + + def test_set_buns (self): + mock_bun = Mock() + burger = Burger() + burger.set_buns(mock_bun) + + assert burger.bun == mock_bun + + + def test_add_ingredient (self): + mock_ingredient = Mock() + burger=Burger() + burger.add_ingredient(mock_ingredient) + + assert burger.ingredients[0] == mock_ingredient + assert len(burger.ingredients) == 1 + + + def test_remove_ingredient_delete_ingredient (self): + mock_ingredient =Mock() + burger = Burger() + + burger.add_ingredient(mock_ingredient) + assert burger.ingredients[0] == mock_ingredient + burger.remove_ingredient(0) + + assert len(burger.ingredients) == 0 + + + @pytest.mark.parametrize( + 'index, new_index, names', + [ + [0,1, ['Сыр','Мини-салат','Филе']], + [1,2, ['Мини-салат','Филе','Сыр']], + [2,0, ['Филе','Мини-салат','Сыр']] + ] + ) + def test_move_ingredient (self,index, new_index, names): + + mock_salad = Mock() + mock_salad.get_name.return_value = 'Мини-салат' + + mock_cheese = Mock() + mock_cheese.get_name.return_value = 'Сыр' + + mock_fillet = Mock() + mock_fillet.get_name.return_value = 'Филе' + + burger=Burger() + + burger.add_ingredient(mock_salad) + burger.add_ingredient(mock_cheese) + burger.add_ingredient(mock_fillet) + + burger.move_ingredient(index, new_index) + + actual_names = [] + + for i in burger.ingredients: + name = i.get_name() + actual_names.append(name) + + assert actual_names == names + + def test_get_price (self): + mock_bun = Mock() + mock_bun.get_price.return_value = 1255 + + mock_fillet = Mock() + mock_fillet.get_price.return_value = 988 + + burger = Burger() + burger.set_buns(mock_bun) + burger.add_ingredient(mock_fillet) + + assert burger.get_price() == 3498 + + def test_get_receipt (self): + mock_bun = Mock() + mock_bun.get_price.return_value = 1255 + mock_bun.get_name.return_value = 'Краторная булка N-200i' + + mock_sauce = Mock() + mock_sauce.get_price.return_value = 90 + mock_sauce.get_type.return_value = 'SAUCE' + mock_sauce.get_name.return_value = 'Соус Spicy-X' + + mock_fillet = Mock() + mock_fillet.get_price.return_value = 988 + mock_fillet.get_type.return_value = 'FILLING' + mock_fillet.get_name.return_value = 'Филе Люминесцентного тетраодонтимформа' + + burger = Burger() + burger.set_buns(mock_bun) + burger.add_ingredient(mock_sauce) + burger.add_ingredient(mock_fillet) + + assert 'Price: 3588' in burger.get_receipt() + assert 'Краторная булка N-200i' in burger.get_receipt() + assert 'sauce Соус Spicy-X' in burger.get_receipt() + assert 'filling Филе Люминесцентного тетраодонтимформа' in burger.get_receipt()