From c4f763777eded6f163039bd3bdfa0d745b4b5e52 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 17:24:01 +0300 Subject: [PATCH 01/10] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=20requirements,=20=D0=B2=20=D0=BD?= =?UTF-8?q?=D0=B5=D0=B3=D0=BE=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D0=B8:=20pytest,=20pytest-cov=20=D1=81=D0=BE=D0=B7=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=BF=D0=B0=D0=BF=D0=BA=D1=83=20tests=20=D0=B8?= =?UTF-8?q?=20=D0=B2=20=D0=BD=D0=B5=D0=B9=20=D1=84=D0=B0=D0=B9=D0=BB=20tes?= =?UTF-8?q?t=5Fburger.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 2 ++ tests/test_burger.py | 0 2 files changed, 2 insertions(+) create mode 100644 requirements.txt create mode 100644 tests/test_burger.py diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..cffeec658 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +pytest +pytest-cov \ No newline at end of file diff --git a/tests/test_burger.py b/tests/test_burger.py new file mode 100644 index 000000000..e69de29bb From b072d89fcfff61badffc91f7e4499e75c9948108 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 17:29:04 +0300 Subject: [PATCH 02/10] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20TestBurger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_burger.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/test_burger.py b/tests/test_burger.py index e69de29bb..ab875bd8a 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -0,0 +1,15 @@ +import pytest +from unittest.mock import Mock + +from burger import Burger + + +class TestBurger: + + def test_set_buns_sets_bun(self): + burger = Burger() + bun = Mock() + + burger.set_buns(bun) + + assert burger.bun == bun \ No newline at end of file From e0ce1db8c5ebd8e1bc90c97ae7abf20c8a525fdb Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 17:39:12 +0300 Subject: [PATCH 03/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20set=5Fbuns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- burger.py | 4 ++-- tests/test_burger.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) 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/tests/test_burger.py b/tests/test_burger.py index ab875bd8a..ac0ccc676 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -1,6 +1,5 @@ import pytest from unittest.mock import Mock - from burger import Burger From 5ce919950838db4cf08856e6c96d6aefc2d842d9 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 17:48:31 +0300 Subject: [PATCH 04/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20add=5Fingredient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_burger.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/test_burger.py b/tests/test_burger.py index ac0ccc676..a6f2c555e 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -11,4 +11,13 @@ def test_set_buns_sets_bun(self): burger.set_buns(bun) - assert burger.bun == bun \ No newline at end of file + assert burger.bun == bun + + def test_add_ingredient_adds_ingredient_to_list(self): + burger = Burger() + ingredient = Mock() + + burger.add_ingredient(ingredient) + + assert ingredient in burger.ingredients + assert len(burger.ingredients) == 1 \ No newline at end of file From 65f7644c347ee201d138cb547395a0cf3fbd1349 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 18:07:04 +0300 Subject: [PATCH 05/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20remove=5Fingredient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_burger.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/test_burger.py b/tests/test_burger.py index a6f2c555e..70f0b7cbf 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -20,4 +20,17 @@ def test_add_ingredient_adds_ingredient_to_list(self): burger.add_ingredient(ingredient) assert ingredient in burger.ingredients - assert len(burger.ingredients) == 1 \ No newline at end of file + assert len(burger.ingredients) == 1 + + def test_remove_ingredient_removes_ingredient_by_index(self): + burger = Burger() + ingredient_1 = Mock() + ingredient_2 = Mock() + burger.add_ingredient(ingredient_1) + burger.add_ingredient(ingredient_2) + + burger.remove_ingredient(0) + + assert burger.ingredients == [ingredient_2] + + \ No newline at end of file From 6a424fc91fb0fd9a20ebcd65ce96edd8c40f69c9 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 18:16:58 +0300 Subject: [PATCH 06/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20move=5Fingredient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_burger.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/test_burger.py b/tests/test_burger.py index 70f0b7cbf..663f83357 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -33,4 +33,18 @@ def test_remove_ingredient_removes_ingredient_by_index(self): assert burger.ingredients == [ingredient_2] + def test_move_ingredient_moves_ingredient_to_new_index(self): + burger = Burger() + ingredient_1 = Mock(name='ingredient_1') + ingredient_2 = Mock(name='ingredient_2') + ingredient_3 = Mock(name='ingredient_3') + + burger.add_ingredient(ingredient_1) + burger.add_ingredient(ingredient_2) + burger.add_ingredient(ingredient_3) + + burger.move_ingredient(0, 2) + + assert burger.ingredients == [ingredient_2, ingredient_3, ingredient_1] + \ No newline at end of file From 5d68393a96c2ed4238c6001927fe452ae8869596 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 18:34:07 +0300 Subject: [PATCH 07/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B8?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D1=84=D1=83=D0=BD=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20get=5Fprice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_burger.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/test_burger.py b/tests/test_burger.py index 663f83357..96f81b13f 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -47,4 +47,27 @@ def test_move_ingredient_moves_ingredient_to_new_index(self): assert burger.ingredients == [ingredient_2, ingredient_3, ingredient_1] + @pytest.mark.parametrize('bun_price, ingredients_prices, expected_price', + [ + (100, [], 200), + (50, [30], 130), + (40.5, [10, 20.5], 111.5), + (25, [5, 10, 15], 80), + ]) + def test_get_price_returns_correct_price(self, bun_price, ingredients_prices, expected_price): + burger = Burger() + + bun = Mock() + bun.get_price.return_value = bun_price + burger.set_buns(bun) + + for price in ingredients_prices: + ingredient = Mock() + ingredient.get_price.return_value = price + burger.add_ingredient(ingredient) + + actual_price = burger.get_price() + + assert actual_price == expected_price + \ No newline at end of file From e6d8acf891308aacd5351e8ebfca50e5956b9581 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 19:24:45 +0300 Subject: [PATCH 08/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20get=5Freceipt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_burger.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/test_burger.py b/tests/test_burger.py index 96f81b13f..d88b8fd1a 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -70,4 +70,38 @@ def test_get_price_returns_correct_price(self, bun_price, ingredients_prices, ex assert actual_price == expected_price - \ No newline at end of file + def test_get_receipt_returns_correct_receipt(self): + burger = Burger() + + bun = Mock() + bun.get_name.return_value = 'Флюоресцентная булка R2-D3' + bun.get_price.return_value = 988 + burger.set_buns(bun) + + ingredient_1 = Mock() + ingredient_1.get_type.return_value = 'Соусы' + ingredient_1.get_name.return_value = 'Соус Spicy-X' + ingredient_1.get_price.return_value = 90 + + ingredient_2 = Mock() + ingredient_2.get_type.return_value = 'Начинки' + ingredient_2.get_name.return_value = 'Мясо бессмертных моллюсков Protostomia' + ingredient_2.get_price.return_value = 1337 + + burger.add_ingredient(ingredient_1) + burger.add_ingredient(ingredient_2) + + expected_receipt = ( + '(==== Флюоресцентная булка R2-D3 ====)\n' + '= Соусы Соус Spicy-X =\n' + '= Начинки Мясо бессмертных моллюсков Protostomia =\n' + '(==== Флюоресцентная булка R2-D3 ====)\n' + '\n' + 'Price: 3403' + ) + + actual_receipt = burger.get_receipt() + + assert actual_receipt == expected_receipt + + From a9b68b4fa2de0f9cf3d194ef1eeec02a9add7cc9 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Mon, 27 Apr 2026 20:09:18 +0300 Subject: [PATCH 09/10] =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=D1=8B,=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82:=209=20passed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .coverage | Bin 0 -> 53248 bytes __pycache__/bun.cpython-314.pyc | Bin 0 -> 1552 bytes __pycache__/burger.cpython-314.pyc | Bin 0 -> 4116 bytes __pycache__/ingredient.cpython-314.pyc | Bin 0 -> 2001 bytes .../test_burger.cpython-314-pytest-7.4.3.pyc | Bin 0 -> 10106 bytes tests/test_burger.py | 26 +++++++++--------- 6 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 .coverage create mode 100644 __pycache__/bun.cpython-314.pyc create mode 100644 __pycache__/burger.cpython-314.pyc create mode 100644 __pycache__/ingredient.cpython-314.pyc create mode 100644 tests/__pycache__/test_burger.cpython-314-pytest-7.4.3.pyc diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..ec88e52e2a2864c727b4f87dff8e959f7f49dc6d GIT binary patch literal 53248 zcmeI)%WoS+90%~-y7k76BL{`Z3OQsh$g%3UvWmp(00AOVQ3(nGal#$jV|&57>+BhFq~+C09pU8hsycstR<}$8pEp3^{yV9H)Ik%|JmH6&iq85$c z7J1Hg8ipUV1qVSr;N8t~qF$*kqq8Y}bn3|@4$|WuHGZ#4Z?)%dZ8(jC1N+5U z+EJLN*LUM+u~S*;G>g+~x(;7o-*0%7tacI}MboJWM(L2@+(I`F_2%U<^B}{JArCYW zn1oc*H`?2{vQ!7rp9cNazLxfwNYMbHxgbk6O8fy2m55^)1m`N0W7RQN^|bJ&I}&xB zZl&BfIat?q7G0p%UF=rpdu6Awzi&UQq}|B0migtZbfK&zZ<$83OP-QZ5@r+0t0u`T zM?OntW5iscaE_dE<9L5vI3``MYj!r~&RwUmyKB$&h~RmNU-wpm;4}FUxV8|ye)VTE zo`{=u=hIa2=Dl*`=iDP)5nXuW(#oVA>q16i5GuN8*3z_MBsRHTD_zW&bS0ZZbu_JJ=~aD) zo4D8Icm9^l-=3}cf$cQz-?!(98NqsT>P7TPz>`_5=J3u+&$@Oo?_^)oEKMJgmOB@N zFB$Toz5~yQy4m}hE=y%TAXQuZ1>dg!Ytauj2tWV=5P$##AOHafKmY;|fB*!FCs4BQ z*pB}G|I(_zEM9nc>Z7fHb#UHfB*y_009U< z00Izz00bZa0X+XlAAkS^AOHafKmY;|fB*y_009UTUjWbli{HkG5CRZ@00bZa0SG_< L0uX=z1R(GqiESTr literal 0 HcmV?d00001 diff --git a/__pycache__/bun.cpython-314.pyc b/__pycache__/bun.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b7cf8836c04bccbfe12e974d32c732c46d8ebafb GIT binary patch literal 1552 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 UpQQ6E(!1$PaD7!MhjuOdFSQ+Z;{X5v literal 0 HcmV?d00001 diff --git a/__pycache__/ingredient.cpython-314.pyc b/__pycache__/ingredient.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..30a9c97b08723b4c178adef20c09b734b107ec70 GIT binary patch literal 2001 zcmbVMO>7%Q6rR~#J8LIt(k3BsS_uo7Y$ zq$j5!s!A1Hsl<&_ZUGt*s9J8EXK&SBIdLM9CEO$LJ+HGaKdsV{=FQAEGjG24&AfT_ z*kqYO*=_w9Gz`Xm$HA~zS*N!Moi3YWFENMBGl#zcE3qi%7&TTmy}@u`vpLoaVeG=b zD@<{RDdQ?v<_oM1`<2yT7rA51v(R=-u+yqQh($<&kRl;PLdFOgBg7`8M2PK_RjI*L z*%=2O6KVPV=$iDKfgh>PZ*Y8Bf2$wrdwN&jPwrIpo_?TzOu8_<2mM|BAi1e`mdpB^ zf8&>`fbAr=XwNTt2RGl>d(~u1KTJMPwqVzH|KqT#cayE;CL9Rv_w=vTGf#I_KSyWj zpY#uU2bKae@LWy4M25)E;}8l~EJdg$)ZRHTmwA^p*j3}LFBoeAdWwC>uXBfg#6N+n zA!~x==S`5u`U9^foeB;$5^8h9Pp!yZ_tV0L3_QPXq-LyST4;rBSHY;*YRh$3rISK< zp&Q4|z*9oR=xM2&o_Y7u+Q+dk9W=72vI7l z)o7?6TYW9Ul~f#7W7~YCZl)GWA;$ofNTP0~R_uo@iE`&~jOV=!MNUE|wS@?x0Q5*_ zo(O0FQZUD1U6(zYt=%a-nq2@hxA;|AP6PVHt!CU=uL?6yyVdg?7#p$x%hICsRYyj3 zE-{Deh8%}RPJqeohgiyEh)#h)&hac5QkNGN4;YxcZ&H(Uf(2AiG17C8{tfm)HZj`N zm^=Yv;DF(7bBX?A+?r`ry5=iEZ!4W05$O;mQpg!pnwt6g#_b#0uHf@Mps2!wT zS%~#^vlC(;ewfcXZkWwX3DF8#)-S^A!d``Xe_@YeB_}Iz0y^6s#Gm~$mj_Y4EiVku!F=8~Ip=+2hF5wF3_1B5 DvE1Fz literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_burger.cpython-314-pytest-7.4.3.pyc b/tests/__pycache__/test_burger.cpython-314-pytest-7.4.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ecf2d5df13d6dacc76a678ca96d3edea12ea462b GIT binary patch literal 10106 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 iHaQK;keOtxM1MSx&IGFt;6I1 literal 0 HcmV?d00001 diff --git a/tests/test_burger.py b/tests/test_burger.py index d88b8fd1a..a8c289ea7 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -74,30 +74,30 @@ def test_get_receipt_returns_correct_receipt(self): burger = Burger() bun = Mock() - bun.get_name.return_value = 'Флюоресцентная булка R2-D3' - bun.get_price.return_value = 988 + bun.get_name.return_value = 'black bun' + bun.get_price.return_value = 100 burger.set_buns(bun) ingredient_1 = Mock() - ingredient_1.get_type.return_value = 'Соусы' - ingredient_1.get_name.return_value = 'Соус Spicy-X' - ingredient_1.get_price.return_value = 90 + ingredient_1.get_type.return_value = 'SAUCE' + ingredient_1.get_name.return_value = 'hot sauce' + ingredient_1.get_price.return_value = 100 ingredient_2 = Mock() - ingredient_2.get_type.return_value = 'Начинки' - ingredient_2.get_name.return_value = 'Мясо бессмертных моллюсков Protostomia' - ingredient_2.get_price.return_value = 1337 + ingredient_2.get_type.return_value = 'FILLING' + ingredient_2.get_name.return_value = 'cutlet' + ingredient_2.get_price.return_value = 100 burger.add_ingredient(ingredient_1) burger.add_ingredient(ingredient_2) expected_receipt = ( - '(==== Флюоресцентная булка R2-D3 ====)\n' - '= Соусы Соус Spicy-X =\n' - '= Начинки Мясо бессмертных моллюсков Protostomia =\n' - '(==== Флюоресцентная булка R2-D3 ====)\n' + '(==== black bun ====)\n' + '= sauce hot sauce =\n' + '= filling cutlet =\n' + '(==== black bun ====)\n' '\n' - 'Price: 3403' + 'Price: 400' ) actual_receipt = burger.get_receipt() From f5ad1566b3aed774b1a4370df9f0e74e36be6306 Mon Sep 17 00:00:00 2001 From: Aleksey Andreev Date: Thu, 30 Apr 2026 19:55:39 +0300 Subject: [PATCH 10/10] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BF=D0=BA=D1=83=20praktikum=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D1=81=20=D0=B2=20=D0=BD=D0=B5=D0=B9=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D1=8B=20=D1=81=20=D0=BF=D1=80=D0=B5=D0=BA?= =?UTF-8?q?=D0=BE=D0=B4=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .coverage | Bin 53248 -> 53248 bytes __pycache__/__init__.cpython-314.pyc | Bin 0 -> 137 bytes __init__.py => praktikum/__init__.py | 0 .../__pycache__/__init__.cpython-314.pyc | Bin 0 -> 147 bytes praktikum/__pycache__/bun.cpython-314.pyc | Bin 0 -> 1562 bytes praktikum/__pycache__/burger.cpython-314.pyc | Bin 0 -> 4153 bytes .../__pycache__/ingredient.cpython-314.pyc | Bin 0 -> 2011 bytes bun.py => praktikum/bun.py | 0 burger.py => praktikum/burger.py | 4 ++-- database.py => praktikum/database.py | 0 ingredient.py => praktikum/ingredient.py | 0 .../ingredient_types.py | 0 praktikum.py => praktikum/praktikum.py | 0 tests/__init__.py | 0 tests/__pycache__/__init__.cpython-314.pyc | Bin 0 -> 143 bytes .../test_burger.cpython-314-pytest-7.4.3.pyc | Bin 10106 -> 10119 bytes tests/test_burger.py | 2 +- 17 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 __pycache__/__init__.cpython-314.pyc rename __init__.py => praktikum/__init__.py (100%) create mode 100644 praktikum/__pycache__/__init__.cpython-314.pyc create mode 100644 praktikum/__pycache__/bun.cpython-314.pyc create mode 100644 praktikum/__pycache__/burger.cpython-314.pyc create mode 100644 praktikum/__pycache__/ingredient.cpython-314.pyc rename bun.py => praktikum/bun.py (100%) rename burger.py => praktikum/burger.py (95%) rename database.py => praktikum/database.py (100%) rename ingredient.py => praktikum/ingredient.py (100%) rename ingredient_types.py => praktikum/ingredient_types.py (100%) rename praktikum.py => praktikum/praktikum.py (100%) create mode 100644 tests/__init__.py create mode 100644 tests/__pycache__/__init__.cpython-314.pyc diff --git a/.coverage b/.coverage index ec88e52e2a2864c727b4f87dff8e959f7f49dc6d..52ec4515316a5d79de7076faa6be03d42da02f1f 100644 GIT binary patch delta 1053 zcmb7@ziSjh6vt=g&E00g-Mov1LShjAflDqwB&bCo7XAZbv#@S1OESdWyX~obG)4;*Bq#XxIPXp{%UQh{_WPMPZ$G;m2e5Gfk4CuK zxje_!^LtOP3-FY|ih?2TL diff --git a/__pycache__/__init__.cpython-314.pyc b/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bd3f570ebb1cc46e6acbaf3dd24f1ce38150ce25 GIT binary patch literal 137 zcmdPq>P{wCAAftgHh(Vb_lhJP_LlF~@{~08COU>CTCbT%U zs5mA(#wD{LCqEZT#T&-N$7kkcmc+;F6;$5hu*uC&Da}c>D`Ev|0~uTlVtis|WMnL2 G2C@J_mL1Ii literal 0 HcmV?d00001 diff --git a/__init__.py b/praktikum/__init__.py similarity index 100% rename from __init__.py rename to praktikum/__init__.py diff --git a/praktikum/__pycache__/__init__.cpython-314.pyc b/praktikum/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e9ce0b25e8dced8cc21d65752e6df60740cee28b GIT binary patch literal 147 zcmdPq>P{wCAAftgHh(Vb_lhJP_LlF~@{~08C%fQ(xCbT%U zs5mA(#wD{LCqEZT#T&*H6eVVtWM-G<#>B^G=4F<|$LkeT-r}&y%}*)KNwq6t1sVXd Rq8P;Z#LURZSi}ru0RYOAA?^SG literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/bun.cpython-314.pyc b/praktikum/__pycache__/bun.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7446f19b175d41d37c38e3ce48960650af8010a5 GIT binary patch literal 1562 zcmb7E&u<$=6n?X7J8P3)r44Ca1cpcvR;5%3kPxa60?rX^MIwReXzOfX)%7~ejt}X{ zqKLLqMa6+bB>n;4!jC{iNdAWLt=cOmZiy`69{Jv^jonL8NAi2~zW3(sn{VFpmHD{} zVO8%9q8|j&Uu=w5VYC@kvFXwhy+S@MlP}(Ma*rn8S)sby9G_r4^3mW^7y-_GPFnb+ zof|^CFHjrjbzy_v5WcfavFE#xi@Io$f<=lJDOsdskr|83_@4GQNSFOGzFNuL_d7}F z9==jBKbjNst2r=7{RcJkQ~!=RGAI4J<_~jN1Af$hXwiPx{9+Cu_tz@s`>Cjdn)wqM zely4Bgb(cZzve{8X5aj7eug|YhXz5&mSd1ee`v${-{Ql^{X1)wCKx3C@nZH|{06HK z*F={#=!Wz5H$+=NU!;%4m%|)Vg(PT&S#d{2&9LrdZmLyQ+>YCU zhE>{bt5%@1IVqcQkfvKvQ%jlh!B@N4l@H!&e3FJLZEQ9^jCSI7Yoz4sjU5%-($TF> zt8ufFtnKV(vr-00($;|vrOXyV=h`$fgOurIh{s(Tl2g2V#$xaKDXZR+wFYoglkYiR zTnKD$@Des%+FVS=9@?xWV|LI+oU=*)}ifFSIFe*yc3 BZ;k)} literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/burger.cpython-314.pyc b/praktikum/__pycache__/burger.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9589d25ab57ef37f30ce875b769d1d9500d12b38 GIT binary patch literal 4153 zcmb_f&2JmW6`x&l$t6WelqHI)?T9OxmBmn%D_Kok`6I3sr*hH?DviiNtaw3_Yj+!p zWM)^5trKkrwVVbua%ttF2MH)(=%zGP>&A)eKVi3YOksfl0g4`Svr3@KvG2|9k~F2- zanL!unSJx-&70r*nAv1oYmh+eTCA#qkC1=jhugf)pn41jC323WxKm`3)43Rq`BVI) zNB6L?=ahF+(1jR@kUo;~MoCH-;q8XwlbCG(1L&%9z@1^GMXRmr$x z{FN;*?gIZhX!rzp$o|au7?!Vt);mByV=Mk74FZ1+ROzBW0GUp46z*+*8n zsa4+coS)BIEov=rGz=?E$z9M;c)%K-7@vJzQ>Zq3X7**Zm@CXVojfvIr0KVH_3in& z+4IbG!^O*%D9dVI)n(agxBWTnGTK3(*1=5M=!`CUKM*&*cVN-`Q0%FqmFy_4fzDA# zRf3r#TnUUn#~*r+kSrW9K;U)70T0ABwip1-tt{2(7Cj3waRiP zm)5kbngN?Ml*J1XEXJ1URB z03A6EeRG>esiro=jX5WaK`guY@w5%(EMK}1(X*kg)46)|RtvE|@HG5LRjSWxp>3Udq&zZx&=_v)audgUha)i?s1}A%|q$cEl;sf z1T0v|KrCnyh=vvqxK3+tc3HRMvL-$QWk0Ok9`b=o^01jaTuHuUCSSTQl#{PK6o0(k zk50gSv)a7M+hxW_6@8xO;c^i!j$i>TLn_Ad4V#Q{T>F- z;<7P&J=`xt4Q?uOkVvSrsfEca5b{O-%&whEmaA(BuOg=vx!3j(5+J=~hJ%Ra7#`qE z6tMyqq1+d#no;bOw0&#|Hj7m?=4DA@*8_b47lj?q*48qpegsqC({R`C#1F+vxZe!- zm&5VpcRmjfE(%}n?yc;8{=x3&7hl~7byOk=GmBhU&O} zt4oEBf)U_jkEYY7=O;#C-NON)f0F>Y1z8DQ-4c*uO$5q3{3+OGKW}zSHUzAxxqb=3 zOLx>W%ss)oQ|R3pZW?derk3Jo11@WZpT_IFsk!^O7uR${9Jr#c4A|lUEl;-AJ1V%k zV&pYAt{q1^TK5cBYl98KsHeWe|2Q}N159J>X=-&XqkLUQ%0G>dyrxz!caQ_(f^YCB zG-<&nVV_vwk4hFNE%4IO1;5P-F8HT0FUDaampyuT=@d8ck#eyU^?wW!l=S!K1LT4&nY)sS5dj|J*I*az}U8d%nEUs}0T z*?-8~f2h2F+!#1~=LMtpgz?%2L2V`?e&N6+%BmH3Nh{Kazohh=HJA{{rS z<7MfD5u3O_a{tZB$v4cCZ?UO(e6#IF+fw(k_qMnqR-_SA z8YxQ$jo8@Qq!B&(Ks>e~wlk6Fa@XzNmELmSh#`#{(Sr}fu`k;@Z(hD}c_~_M?=!?c zmQpkX=a@>g;X@sfgr{#%mgfrD`5cbnQT)z)I_J!^%kl-4YI;u1EBOLU`(-&>$jCB9 z7gMNfg!UmBL~;NLRwz0F#EQUs8y?qcMo#NGRnO1siUuk=8eZfXC6|+BsEO>gi6!T_ zUFR^*C=yIV?WaJ#z7FVb@`51#yNwsVza_#;9Ix@{mJeQ^I2yuH97k~+O>*`vzvY8# z;}PB+TVbdx|EU!hrhh8ow|o#d_*BGHv|4LFHN)@>r+6h;U3FglNlDQ(rel@Z$l^1| p5|7we9-~;C@JJfIoF92Oj{AZ{|3#krf+V+m39i2imC`PA{{<+|h^GJm literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/ingredient.cpython-314.pyc b/praktikum/__pycache__/ingredient.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6867feef9c3fdf588235371ef79076228fcb62af GIT binary patch literal 2011 zcmbVMO>7%Q6rR~#JL^r-q$DA6S_u;)z)+>M1qoFZLV^pI2o~WSFdZ%Sx~#fho7wRp zJvjwYRjS}hC2pK@3($x_)pFxJd#m=!i4%z|;U0PK+0MHBvpuY-(9$RA1GM6ngm%j=-Q518HGOL*N;dH1+Ypfr_+=Fu; zF~wb`jLTe^PqQ|hS5}o>;I6UELfbV#&#N3E79lx8@`U6GnIdG05Sx$!A-3zNLX|1U zod!QVCyY%~;7a*9_a9f?2-VmMu@EvqIEE zFOC~QT?rARrL|sq{;i9(4`N@&wawbwK__gtMx8iU>qzga3a)lrwd}(6&Q>}jgcn6^ z$aaRt=U>X(k32lSEm9r@1sC0Kdf`<~_Cu_1G? zEzL_`b!AlH60^Bt$Z6>045-mdk(crWqI00o=XenmvCDI-hYZy1*Qm>Uf(<0d81XqQ z1XcF#XkoG|Gx-$E!3PX?hfA~{Bw_%8C_m6v*eSw zv{9MHv_tM7?HnOm?M64mF;tjOyIwe2nG>QJ$XJCz2Zw}K7%d$j;SbQGT!yE9K4-G44 z4`!flQPmnakZK2*Z-YGiE*uqU^e2ueRx+{yH=wbdVf>>yb7>gm8}i)v9?a(hlXE^W M7I?AGK#`HZ09{++4gdfE literal 0 HcmV?d00001 diff --git a/bun.py b/praktikum/bun.py similarity index 100% rename from bun.py rename to praktikum/bun.py diff --git a/burger.py b/praktikum/burger.py similarity index 95% rename from burger.py rename to praktikum/burger.py index 3f71aaa29..2b3b6a88b 100644 --- a/burger.py +++ b/praktikum/burger.py @@ -1,7 +1,7 @@ from typing import List -from bun import Bun -from ingredient import Ingredient +from praktikum.bun import Bun +from praktikum.ingredient import Ingredient class Burger: diff --git a/database.py b/praktikum/database.py similarity index 100% rename from database.py rename to praktikum/database.py diff --git a/ingredient.py b/praktikum/ingredient.py similarity index 100% rename from ingredient.py rename to praktikum/ingredient.py diff --git a/ingredient_types.py b/praktikum/ingredient_types.py similarity index 100% rename from ingredient_types.py rename to praktikum/ingredient_types.py diff --git a/praktikum.py b/praktikum/praktikum.py similarity index 100% rename from praktikum.py rename to praktikum/praktikum.py 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 0000000000000000000000000000000000000000..71a0475437c62541f0285c1e601cb52bdceabf4b GIT binary patch literal 143 zcmdPq>P{wCAAftgHh(Vb_lhJP_LlF~@{~08COUKzNCbT%U zs5mA(#wD{LCqEZT#T&+yq!yPH$Hd2H=4F<|$LkeT-r}&y%}*)KNwq6t1!@KvUkqY= MVrFDyEMf+-05fMGVgLXD literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_burger.cpython-314-pytest-7.4.3.pyc b/tests/__pycache__/test_burger.cpython-314-pytest-7.4.3.pyc index ecf2d5df13d6dacc76a678ca96d3edea12ea462b..0521fcf709c04ca39634e0ad3785bdee75e7d8ae 100644 GIT binary patch delta 70 zcmez6*Y3}&&Bx2d00iQlpEHv;@`|Vn-4ZA$O3W_F%r4ETm2mtXR6Wjm* delta 57 zcmZqo|K-Q4&Bx2d00i~Z-)BZ{Y#tljU diff --git a/tests/test_burger.py b/tests/test_burger.py index a8c289ea7..28717638b 100644 --- a/tests/test_burger.py +++ b/tests/test_burger.py @@ -1,6 +1,6 @@ import pytest from unittest.mock import Mock -from burger import Burger +from praktikum.burger import Burger class TestBurger: