From 60f602ad851e676647f5f43e220a593e83d7db25 Mon Sep 17 00:00:00 2001 From: Dzhan Sina Date: Tue, 28 Jul 2026 12:29:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=8E=D0=BD=D0=B8=D1=82-=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BB=D0=B0=D1=81?= =?UTF-8?q?=D1=81=D0=B0=20Burger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .coverage | Bin 0 -> 53248 bytes __pycache__/__init__.cpython-314.pyc | Bin 0 -> 147 bytes __pycache__/bun.cpython-314.pyc | Bin 0 -> 1562 bytes __pycache__/burger.cpython-314.pyc | Bin 0 -> 4126 bytes __pycache__/ingredient.cpython-314.pyc | Bin 0 -> 2011 bytes __pycache__/praktikum.cpython-314.pyc | Bin 0 -> 1380 bytes burger.py | 4 +- database.py | 6 +- praktikum.py | 8 +- tests/__init__.py | 0 tests/__pycache__/__init__.cpython-314.pyc | Bin 0 -> 153 bytes .../test_burger.cpython-314-pytest-9.0.3.pyc | Bin 0 -> 13075 bytes tests/test_burger.py | 106 ++++++++++++++++++ 13 files changed, 115 insertions(+), 9 deletions(-) create mode 100644 .coverage create mode 100644 __pycache__/__init__.cpython-314.pyc 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 __pycache__/praktikum.cpython-314.pyc create mode 100644 tests/__init__.py create mode 100644 tests/__pycache__/__init__.cpython-314.pyc create mode 100644 tests/__pycache__/test_burger.cpython-314-pytest-9.0.3.pyc create mode 100644 tests/test_burger.py diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..54cf2c97acd4b3345cc929f4a7b335f522ad377a GIT binary patch literal 53248 zcmeI)&2QUe90zbaPvX>F8h4B->Z+*^2h>(;JHj@`UJ#6Jz{CXX4UnktoaAY18r!Mu ztSizqb(8V7!lUz%iVH}ABy`dUr=_WbPU z`S^Jr=SiBJI&s_%1)uSJ#|rr_Wl&L7m(w}j7U?55zh+pz0aXuGpK zoD*s4b|4z^o<-Z}t|b#rMe%aUv>Ox^idi~D%eNiNU*hv(X(CFHoGldR!*~N7MA);g zOu@&J@Nw>o8Q}}JE`m50V|HV_fBf>r{$gdz7WJx#%4GR<`rFh~8rsk)%CQ+bP~Gzz zGWRv#a_e&7l$I^6Nlbf zk!!_s49IDOTZDwbRVfnJ5aW6?oIenzHO=gzzz-vvf)?3%2 z8WRX=Ak-J6$!6MaT{e|KmZ9#Q6TUSorjosJxA3Sd5>=h5u2qhXtW|YZs(@KtS?pgP z(u$SgVfB(8Rior;C9`5r6-uwtI0y&axq`5Y~89Z$1OtkOY%|ZDTLh8X##iM2(o9tWrcJ6-n`4rl=0DmRynYB zt&Gbom{s|#T^Y(LT#s}!Er}mU;JW5W@`zhJ zUQ<|Zd~cwLV*#Dh4tSJ@d+$mwc8(D&$z#l(8;$am-dtoif0`Oy+P-MPaV)oy+^^(q zI6f-%{jzb&^TeG91@cj9lmRu-yN;P2G}$YAtn~O(Ei#cub*x6*+~q~-I^yD-xaV;3 z-ROuFiqLihmr0_`L=|h%3V7WYv@^MvMj0cqxw~@}ALcdMllGx;X~sv{{pyaq#Aa1K z%TaQld?~j)q82MVcBsqkqy@*FlNrz}0mn+qnylt}YSvvlJC*EB>ZR!=Qg`K&;9Z7t zH9mvv5#!5Vi|Nu-$qS_ZaXG+OjXMhcVS)ezAOHafKmY;|fB*y_009UA!_MGpMrRq2zx6_D)rI zPgVP=R5|0iVq7==U6%z!rXc_U2tWV=5P$##AOHafKmY;|SP>|(?P~fqK(3z+>&d$S z^7DVaJg68y8lM^`jgj)r^0(#7(<3EM|FhKwU z5P$##AOHafKmY;|fB*y_umJ@a8_?zF|C;f=V%#=v8GjhpjGt)*69gat0SG_<0uX=z z1Rwwb2tWV=kBh(-EwAch?Ca0>F5b4^d*_!MAKv_-s1;~qIj8pJY5s(!J*AfzEp5wx zvHa^dUpZf4@Bd@`{{STH ah5!U0009U<00Izz00bZa0SK&ff&T%d>APhB literal 0 HcmV?d00001 diff --git a/__pycache__/__init__.cpython-314.pyc b/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0e54e6a52c19704224feb76e81a69a83d9db182e GIT binary patch literal 147 zcmdPq_I|p@<2{{|u76W#DWT6Iz^F zR2<`%S{~z)TAW>yUl8MxS&);T3#H->W8&j8^D;}~mXzOg~!e-aZj)l^b zMG>V^Ma6+bB>n;4!jC{iNdAWLt=cOmZiy__mALS|SsR-Rs3ZBkdEa~U_RTl%`O^Gc zg|Pl=-}>Y`LG%Y3<5d`K232gjv_vmZgO;fwUUhPhriQaZb+!FuGQ!3QvWocoBh zXpnYp2<<*Y3C`=n2E8I0&N4+_!-ZVbMT-WscxlzVfE1COt zC+>WWuT;$U=Ggpf_RV4ce$D*Qzhe%~asRIQ%^cK#ANC(uwBI#9nSIE;wTk(6Dr&!G zen*C1%#k_f1AF~1IMI>WGryW2A&<;~K@hU#7$njk*s%Ur`0!Ex&RV4f28n;Xm^~N2 z!79WR(WMQ#;k^DO(I(Jm={<2vG{iOWAvlB-mo1ZjGJ9De_P2wq*j8aHs5_aPYLykY zqQuv*N?VEA_H{NVWh?U2bTe#eDN{c9VmG_=&Ku45(?F%o_2Bd7)gb*;C++6dupK4a zBPCyM-t5F{?VW5^NO(Qc%nO=l=+@&Eo#fzsbcCVeV>MdDo05`Sx zp5w)Z!1e~uVbi7Si}Bb)*K6^Z9dyzP^~8G5Q6=~lf2;0hg*1q^CP>POS65fnEOh2c z8O9+lo6Y8>=9Vp!1G@C^-1+q2=j>yF}SQBOgP2)C7~IY#FptmhmymNHSia7qxnD^^WvLV#V&hUF@sunl^5zr+*qqL%YY%B=pE z4Q3>rVx!75RCiyqYElWJ?0P~r_}vu~H_b(vZ*K=Do8u<=$F#Lf*tmV~w(&058r0Ls zv5x-}^cS;;{;Ej1oosd@-eX8U>-f>gvmoVGs8St;aS$hP&q%qMw4_vgPsP)so`=Ym zFq0UpuqA!1Rd}jHifkSV6kl*vnLI(@KbI>Y$QY3i1Sgz_isRs?x=CNt@D`j9tV&D449Id^v@A-fPV zy$|Q!J@?#m&;6Z`dpFtE8YIyEp}qaihCs+a@xyIiXHY!~gAzGMQrsyr!RcHK$NVXN z!lQfG*mKG|A?QMkL`W}5d7~sHjPmws-Iwz1B?!Bgr* zs$_GDs%Pv4Hg#5$>TlpX4ZFWZbS_17{+wU;bddtsqI*+(l<2}VIl!enQIZ#N=X_ZA zF^<4EKF0Agj-PQv#t|7Oz&Jt12{29zF6jC;Vp0UACA9#*4>9N`vnKocIyUV;aKJ#gU-XMtm^ zd6gM!z6a))K;x?U3uf?NCETeIiM63%2C%9%bhC#LvDycN5=oJ1qShvd@T(@BB74aS zH@U)Fp7V36)sm|Pj)q~SDftT;3in$><6|?gYYNq7CY4JwClu{xdZ9RTB3H~8W}QwR zo;lB4H&nc0iL#tibGj^B?Y2LMTt++S(>j=G>z&aB@B8BVclR%NABo*nw2~dgHPAT< zsY)<&m@9$t=lFx~5t4-i?jb+r-sV!=Y3?l9&q3_)U!pv1MdAgL;4R;U0-a6kR;w&$ z@@Y-W<}zTDhH`x+8ivja$#Pm%3wl~tz}n85wRL7Eh-o{4d{rWwgcG70NN$g_j^bPKlfe*U?A3X$!Cu95XY)Q-p(!nNj`ywo#&{=rXuOtHI|om@$5)dA+mi z*P^{Y0`?6-qY+qZ1?#S-K45@lUC_}ekVd#@H*&uP1g9HO8ALb+S9Y;(D=OeHJ1P&u z03A66eRG>asiro~jXEcbK`guY@w5%(EMK}a?tPNY zj)J5_*2Pdo>^8;jiWoD+*i!J3nEXFMEacRzav95XPSu}{FJjz?ZybS*FKevZif=9I zBzBJN@tx+x1`Iidp^IG{_d_ji40cduw(xVM5x#B*zAZD%SWG8CFchwY_L!kPi?9DZ zw0A3ZUXVgJSNnlHEvHjF%WNJp+rxsCqKQ^ORW5-|044nnd_Nn=Js_pUfH>(p!6Aeb z-16zitpD(|{cW4t7=f4w@GVv`gP$j6&q&)wH#`QKTRpnn%e^tmJx-M8R4Bc= z5i4*J%6*aMGK!s&wvR2rX0fWqyevuVdY~`jqOjxH+FAzH4`B*?8s7O^@dL3E?lZ%E z<#2rI-Os`U3&Iz>dMdkKc)06@g;&=@9hFGJj3mmDr7ia8nVmbu|T~K`#^q4{Y(0t%gdK5 z`wp7>4wmCKX|ip@(uIk8|9O48Yj*gXWue*pL-ON-J}eJZ?)ZQTkKl$-Vv9@iZpCW z!)57!5gT2dFrr5uibvPQb|w;C+IgpExu@JaY)B(U^uR-L^o#b+TUTygS&Ww3dkwLd zr4$XpIVKZr_)teA;prQc<=H}ZE{|h)6u&!{&O0;hvV0*&H9enG6}14gi6!Tl zUFR^*C=yIV?I%FKx&i2K@PZ)zyNwsVw<*F)9Ix@{rVn19I2y!J97k~+O>p)tzv+W( z<1yYHn_;Lc|EU!hrhhWww|o#d_*BGHWN}9EB4BYsaepSbLTvc(tz(IYZNQFFC>QMg ft>N?dv4`Wh&q?%Or1NvqyXi}CeN`xjb}joa`#O6+ literal 0 HcmV?d00001 diff --git a/__pycache__/ingredient.cpython-314.pyc b/__pycache__/ingredient.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ef7d89cc06372efa50578c09f8bfd3b070b556a7 GIT binary patch literal 2011 zcmbVMO>7%Q6rR~#J8LItQj(B3t%QjYV5m~sf`qCHA<;`OQM;(l0n^d4-n0vwwV53Y zr6;E#s!A1Hsl<&_ZUGuKP_^7R&)%xNa^jZA60XFB_nz&n%TKHDqF`w zri#uu_%V?dFGN?R-w6CjwSR@{i~3vrP~X)%`hIe|tatST{bSOB>0KD_=m*ISy}ex2 z-~1ClTLx@9xk+b!*4udazTPb-oBCn$d9n$ozWWb@WxbPZCO6M?&t7bKbisxT;w4azJFLgd+_8OBTjm~i-=CrGr#69I*u}izXT=G62W;5g z*I>|LtJ4vpB&+3U$Rt~RBf^~|4y&*&zEU+)3rUe~Pjc|s zkU7|v=B2ONGOBWk*<3Z`ICOFX)ZnGaOL+v*DNyKhJPV50<+;Uu2I|gR)MY-w1`=e9 z`0N*g8oM}H80{)dJ_mE~0mI$m679!$bih&Js;>n7vUGNYqyvFLew~j*?_R7A7==X zLm4F-w>GrBkU8@IDUmOLAI~Oa26o9Zs)K(D6Ouy)PnP~Qc&b5v4<11}@)BG|msia! z`6Mo_RL3#xkUL1bq7duNMmxkYRG3fOZa7$(5@Icou?mC8kD9PNCPbs@2_fgu_Hk58 zs9ph;&Ovd5(iC{YRZ0dQwUr;knWH1+&-24j2>9oeU&zC|{q(}JEKwmAp9b~#CVb|7 z!^+vc38-6CwR%NJwLQ$YULJlIj!HE814k4q8CiiF(AZW#{z08N*N^fYd1`nM=JTG( OIqw-Wywqi&$jD#MIN_}T literal 0 HcmV?d00001 diff --git a/__pycache__/praktikum.cpython-314.pyc b/__pycache__/praktikum.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..755980bb7fd79ef70eef6aa24863c89ac32a2e62 GIT binary patch literal 1380 zcmbVM&1(}u6rat`ZZ?~KShWcWt4V29LQSR6gNXDHLrqZHS}^pm&9Z5Rc5ObE*-fRM z;zfHDLF4qkJqr-&cYG+Yz3X&6k)WatbmsSD$O$E|Dg`XpLw|_+ z!<-M$&@YyR)kwf{T?&=K^(40!{N1DgjgN9ZKqav(oG~7rFeh}Yg#q4QbR_i z)o{opx2@r%I7D%fdlE2aR;vbgk@0$S7o8?1F#4O4Y-}}L65XOnFxo_x?PefRs{U9K zx#Eo~f!-FPJiFttxlB_b^LK9P4;_RZeHlI0^T^q8o3@^}>{_$#D`Q@_vAN?~JFWVh zy+>f(v>G@@Gq4$R-qWQGz9yz#C)pG zXL1KK`Sv|(OVQ^mPgh>#I}@+&_Mr9&s(qN~!bE5Gt@&oI2Qwf3i}5n|VX_O8o%xR0 zgK3}9x=`yp=)n}-q@?a&?W)eh9lhcI6@v78wpvb$%qma*qaMtKKl zGcju)Id__4{|P5of1cC9O?ZPrE^-II3e4WI*GyKuVb+mhyaPDS*hyAJxm|BoTQ#(Z z)6`@y*2&W4NE8HN0OH@kr2&{8fNKLV`%~70^wA=KBl}N!V&WrIo-O?l0Ze-7{s70e B9~}Sy literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a707abe8f95f72321efc9ee982894c16948d1ec2 GIT binary patch literal 153 zcmdPq_I|p@<2{{|u76W#()Z6Iz^F zR2<`%S{~z)TAW>yUl8MxS&);T3#H->V@gtsONwLS<1_OzOXB183My}L*yQG?l;)(` W6|n-10a;WGVtis|WMnL22C@K)6(imN literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7bad816e511cb561a09a2eb0ee082b10c02f191a GIT binary patch literal 13075 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 literal 0 HcmV?d00001 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()