From 474bcd2fd5da01ecfbc793aa061479845526e768 Mon Sep 17 00:00:00 2001 From: chemodanowaleksandr-blip Date: Sat, 25 Jul 2026 12:10:22 +0300 Subject: [PATCH 1/4] Create test_bun.py --- test_bun.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 test_bun.py diff --git a/test_bun.py b/test_bun.py new file mode 100644 index 000000000..63dcd8c0f --- /dev/null +++ b/test_bun.py @@ -0,0 +1,9 @@ +from bun import Bun + +def test_bun_get_name(): + bun = Bun("Краторная булка", 100) + assert bun.get_name() == "Краторная булка" + +def test_bun_get_price(): + bun = Bun("Краторная булка", 100) + assert bun.get_price() == 100 From 0e133e5a11ad382d14fed139d5e369df5d695561 Mon Sep 17 00:00:00 2001 From: chemodanowaleksandr-blip Date: Sat, 25 Jul 2026 12:12:11 +0300 Subject: [PATCH 2/4] Create test_burger.py --- test_burger.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test_burger.py diff --git a/test_burger.py b/test_burger.py new file mode 100644 index 000000000..e4fdd0313 --- /dev/null +++ b/test_burger.py @@ -0,0 +1,37 @@ +from unittest.mock import Mock +from burger import Burger + +def test_set_buns(): + burger = Burger() + mock_bun = Mock() + burger.set_buns(mock_bun) + assert burger.bun == mock_bun + +def test_add_ingredient(): + burger = Burger() + mock_ingredient = Mock() + burger.add_ingredient(mock_ingredient) + assert mock_ingredient in burger.ingredients + +def test_remove_ingredient(): + burger = Burger() + mock_ingredient = Mock() + burger.add_ingredient(mock_ingredient) + burger.remove_ingredient(0) + assert mock_ingredient not in burger.ingredients + +def test_move_ingredient(): + burger = Burger() + mock_ing1 = Mock() + mock_ing2 = Mock() + burger.add_ingredient(mock_ing1) + burger.add_ingredient(mock_ing2) + burger.move_ingredient(0, 1) + assert burger.ingredients[1] == mock_ing1 + +def test_get_price_with_buns(): + burger = Burger() + mock_bun = Mock() + mock_bun.get_price.return_value = 100 + burger.set_buns(mock_bun) + assert burger.get_price() == 200 From 30f3132bbcc2ec036c8123ac3f01743452934feb Mon Sep 17 00:00:00 2001 From: chemodanowaleksandr-blip Date: Sun, 26 Jul 2026 12:33:18 +0300 Subject: [PATCH 3/4] Update test_bun.py --- test_bun.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/test_bun.py b/test_bun.py index 63dcd8c0f..07c1f11a1 100644 --- a/test_bun.py +++ b/test_bun.py @@ -1,9 +1,19 @@ +import pytest from bun import Bun -def test_bun_get_name(): - bun = Bun("Краторная булка", 100) - assert bun.get_name() == "Краторная булка" +class TestBun: -def test_bun_get_price(): - bun = Bun("Краторная булка", 100) - assert bun.get_price() == 100 + @pytest.mark.parametrize( + "name, price", + [ + ("Краторная булка", 100), + ("Флюоресцентная булка", 999.99), + ("", 0), + ("A", -50), + ("Очень-очень длинное название для булочки бургера", 1000) + ] + ) + def test_bun_init_and_getters(self, name, price): + bun = Bun(name, price) + assert bun.get_name() == name + assert bun.get_price() == price From db10db6b6b47ea6cebffc9fa1ef146e652f45a46 Mon Sep 17 00:00:00 2001 From: chemodanowaleksandr-blip Date: Sun, 26 Jul 2026 12:33:52 +0300 Subject: [PATCH 4/4] Update test_burger.py --- test_burger.py | 93 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 63 insertions(+), 30 deletions(-) diff --git a/test_burger.py b/test_burger.py index e4fdd0313..dfae86853 100644 --- a/test_burger.py +++ b/test_burger.py @@ -1,37 +1,70 @@ from unittest.mock import Mock +import pytest from burger import Burger -def test_set_buns(): - burger = Burger() - mock_bun = Mock() - burger.set_buns(mock_bun) - assert burger.bun == mock_bun +class TestBurger: -def test_add_ingredient(): - burger = Burger() - mock_ingredient = Mock() - burger.add_ingredient(mock_ingredient) - assert mock_ingredient in burger.ingredients + def test_set_buns(self): + burger = Burger() + mock_bun = Mock() + burger.set_buns(mock_bun) + assert burger.bun == mock_bun -def test_remove_ingredient(): - burger = Burger() - mock_ingredient = Mock() - burger.add_ingredient(mock_ingredient) - burger.remove_ingredient(0) - assert mock_ingredient not in burger.ingredients + def test_add_ingredient(self): + burger = Burger() + mock_ingredient = Mock() + burger.add_ingredient(mock_ingredient) + assert mock_ingredient in burger.ingredients -def test_move_ingredient(): - burger = Burger() - mock_ing1 = Mock() - mock_ing2 = Mock() - burger.add_ingredient(mock_ing1) - burger.add_ingredient(mock_ing2) - burger.move_ingredient(0, 1) - assert burger.ingredients[1] == mock_ing1 + def test_remove_ingredient(self): + burger = Burger() + mock_ingredient = Mock() + burger.add_ingredient(mock_ingredient) + burger.remove_ingredient(0) + assert mock_ingredient not in burger.ingredients -def test_get_price_with_buns(): - burger = Burger() - mock_bun = Mock() - mock_bun.get_price.return_value = 100 - burger.set_buns(mock_bun) - assert burger.get_price() == 200 + def test_move_ingredient(self): + burger = Burger() + mock_ing1 = Mock() + mock_ing2 = Mock() + burger.add_ingredient(mock_ing1) + burger.add_ingredient(mock_ing2) + burger.move_ingredient(0, 1) + # Проверяем, что ингредиенты поменялись местами + assert burger.ingredients == [mock_ing2, mock_ing1] + + def test_get_price_with_buns_and_ingredients(self): + burger = Burger() + + mock_bun = Mock() + mock_bun.get_price.return_value = 100 # Цена булки 100 (х2 = 200) + + mock_ingredient = Mock() + mock_ingredient.get_price.return_value = 50 # Цена ингредиента 50 + + burger.set_buns(mock_bun) + burger.add_ingredient(mock_ingredient) + + # Ожидаемая цена: (100 * 2) + 50 = 250 + assert burger.get_price() == 250 + + def test_get_receipt(self): + burger = Burger() + + mock_bun = Mock() + mock_bun.get_name.return_value = "Краторная булка" + mock_bun.get_price.return_value = 100 + + mock_ingredient = Mock() + mock_ingredient.get_type.return_value = "SAUCE" + mock_ingredient.get_name.return_value = "Space Sauce" + mock_ingredient.get_price.return_value = 50 + + burger.set_buns(mock_bun) + burger.add_ingredient(mock_ingredient) + + receipt = burger.get_receipt() + + assert "Краторная булка" in receipt + assert "Space Sauce" in receipt + assert "Price: 250" in receipt