From fecc01fa790568c9efa71b5df5ae7db32c5119df Mon Sep 17 00:00:00 2001 From: Viktoryia Zhuk Date: Sun, 28 Jun 2026 12:20:44 +0800 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=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes .coverage | Bin 0 -> 53248 bytes .idea/.gitignore | 5 ++ .idea/Diplom_1.iml | 12 ++++ .../inspectionProfiles/profiles_settings.xml | 6 ++ .idea/misc.xml | 7 ++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 ++ README.md => praktikum/README.md | 0 __init__.py => praktikum/__init__.py | 0 .../__pycache__/__init__.cpython-314.pyc | Bin 0 -> 173 bytes praktikum/__pycache__/bun.cpython-314.pyc | Bin 0 -> 1588 bytes praktikum/__pycache__/burger.cpython-314.pyc | Bin 0 -> 4179 bytes .../__pycache__/database.cpython-314.pyc | Bin 0 -> 2826 bytes .../__pycache__/ingredient.cpython-314.pyc | Bin 0 -> 2037 bytes .../ingredient_types.cpython-314.pyc | Bin 0 -> 401 bytes bun.py => praktikum/bun.py | 0 burger.py => praktikum/burger.py | 0 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 -> 169 bytes .../test_bun.cpython-314-pytest-9.0.3.pyc | Bin 0 -> 2985 bytes .../test_burger.cpython-314-pytest-9.0.3.pyc | Bin 0 -> 11559 bytes ...test_database.cpython-314-pytest-9.0.3.pyc | Bin 0 -> 4498 bytes ...st_ingredient.cpython-314-pytest-9.0.3.pyc | Bin 0 -> 4082 bytes tests/test_bun.py | 16 +++++ tests/test_burger.py | 67 ++++++++++++++++++ tests/test_database.py | 14 ++++ tests/test_ingredient.py | 17 +++++ 32 files changed, 158 insertions(+) create mode 100644 .DS_Store create mode 100644 .coverage create mode 100644 .idea/.gitignore create mode 100644 .idea/Diplom_1.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml rename README.md => praktikum/README.md (100%) 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__/database.cpython-314.pyc create mode 100644 praktikum/__pycache__/ingredient.cpython-314.pyc create mode 100644 praktikum/__pycache__/ingredient_types.cpython-314.pyc rename bun.py => praktikum/bun.py (100%) rename burger.py => praktikum/burger.py (100%) 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 create mode 100644 tests/__pycache__/test_bun.cpython-314-pytest-9.0.3.pyc create mode 100644 tests/__pycache__/test_burger.cpython-314-pytest-9.0.3.pyc create mode 100644 tests/__pycache__/test_database.cpython-314-pytest-9.0.3.pyc create mode 100644 tests/__pycache__/test_ingredient.cpython-314-pytest-9.0.3.pyc create mode 100644 tests/test_bun.py create mode 100644 tests/test_burger.py create mode 100644 tests/test_database.py create mode 100644 tests/test_ingredient.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b147055ef54d90e8332a8c612bd8cbf5ea6b9a51 GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..b58b603fe --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/Diplom_1.iml b/.idea/Diplom_1.iml new file mode 100644 index 000000000..f55cd921e --- /dev/null +++ b/.idea/Diplom_1.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 000000000..105ce2da2 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..590a59e60 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..2cbdfb84d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..35eb1ddfb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/praktikum/README.md similarity index 100% rename from README.md rename to praktikum/README.md 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..419ac18b556d4b51b0659ebb7b228e325ba1dc03 GIT binary patch literal 173 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 Nkl=dPpi(+z?!PFulav4e literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/database.cpython-314.pyc b/praktikum/__pycache__/database.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..23fc09619946d7b78cd41e218e9bcd2bc0fc62d1 GIT binary patch literal 2826 zcmb_dU2Gdg5Z?38dF}iWrD>AV))&H$tRyz5l|Z6GB_v=+QIwvONKs2xm-D4Laygs5 zbs>Io5r|eG^%WsrB0y^1TB#KvXqv}7o@GO#lPZu94}EKiMDob&I*t=+p$f9HXJ>b2 zXXl%pnd@(Di69vFzkdC_jQ~Qw^F?jIT8!;+n2Kl?sZt6hB_>5V?@RfTe&!dvKNUy@ zSy1qSl$;E)P!cm7MV+V@slhI!%4dC5V=SzO`cMo%a7v4>z~_ir^d!$Pp@84rF-`w;k^d_zl)fp zBIcXL%zqqZ0SybNzAnUq)98$(`n!;Y)d0|Em@Ia{Z`hH=PDl+gJdMD64Bm%5JghNo zPIHVr4^G7W(*4oBRk~Wbs=&|v$-P_p$X#>qxVM1+UUBccYf7mItK04xNbU-)+pzu) zw0=;8;yw3X>9f)&@rW)Rz!3u8j}YG81wcg63NY1Y5;IT9Qine^Z(ck z0^*~#DFgPSvDsWj3)n+PhP`eR9~t(#&2S^^Y6J?dsSuvCG<{K-%iD$U2MZ=M1RH{0 z!5MP^a<>p($TG#z^14xoIN3Z^bZTfzg(iK$w9Kl&ll45a4CdjCX=g!~dLf{WcG(z@ zg}eaRa=a#UzX>^>tmSfsouRxNQeI0`=7d+!Dzq=hu;v|JI4^pmi7CgRPU4EW$gw>cefXAx~hd#?pP4{r@7t_3Q%`#0QtBYZu)iMva<`>T#GF5c`b_rxnW zvGufqnVbG{&p-taf~l&RO&l%Z=r@r{|M~U)4X3Q6D|iy@Jt-YnQvVx}?iU-{b zlVxS9f~OnU9$HUs=w(H%;B(&Pi{kOkZ7QL&5Sos@!x(Km~&DQ zn%k`JwT}_XfaD~)AT3C$l$I_c_)7yP`1$HcNPTG4_mDRTPo@UTQ#b-_&mw; zS-PY#uZ0lZ(i|sa>hNL?Kk;0VcJPDEglM*%Wg0W!EjtgqWqtb;C_3Fhc8h2SNx`1S zoU8;^(%*&!OOJ!_&{u(j15fZa_m@Lz)UUyPX*?#;R?wmCK&p9Kb*xppqM4R9XBkA~ zeAm8fhXukpUZRj}Z5=n3uP?i}yYA4DM458%wb=3!1O8c<=t&?4!%4X}^fVBKOL~Cp z#Z2LWQdZdN=+7^`D)_pOpe4pr28}A94Pk48>4~s))}wQvrOBtvmg!; zlF90X&|_eQ_Hyz95U&%`5pvJeiN+W;=km;OK)wAy!s>=)5dwHcuz8HmiwvRsD=G*E z#(5sd?xz6YvCkL8f8y5Ql(eHjo<8Eqx+6pM|Kd*|Fo|OvjLepEJPy2Syq5h|7l)J+ zMdTf;@73ca+N^h?k%)jn!>PAmanmZQ-YO~%pQ{G#4SEJH<#-&POOO1LBt1Y~f1pzj SQ2(!JYDeyolx+k=9R3?VJ4pBd 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..856140b1a4ff72dfa790f90d9275b52af0caa837 GIT binary patch literal 2037 zcmbVML2MgE6rI_%owbuRX_JsRt;7-|z);1Mf`p(#2=#)5qOyoY2+`59-n2{BYco4W zBqygJs!A1Hsl=_P+yXQrP_@1FJbSD5%Bicdozt)dvP+f8(HEGQCcF9y%>H!(Lzxn`I7v6INnT%rQ!=Ym%j`6Fj9C_1jtO>BWeLd;k|iWZNRE&ZLPiL&2+0#-IR%wp zW~$(f0*|q@@L_a8`qjXXRP!zzU(mnk+xmvy(KnN;w%*mZ^zTUvhBu(Uqi-db^!8#w z|NLM49UHLif5Jb9 zt08NGjf7fn_-Q6`Ykrz-$iVZG7(Fet(vK>i#=eXz-vn!_E(3R?xmG#r$1rGAK69h0|E)MDT~7sGvsO79 zG{SmKoT@aWyQYFQfCf|+8|&$q5N;IJm8*Oq(%HdXE)GvvaCE!?=3$FssvIbm?mT-t-)p znfV_JauU!-ZobEzwQZPr(#=;mFg9csmZdrAtEP;~T;e}38*&sHIR>V8hs07IL39EP za*n6Lkh(lOzt6y2dyAR@Cs;rQ6(c>nDPozO>rD(dB_@x-7&u_KTU?_57`OH`%3tu6 zp!b(f4~cYu5-H>iDosrNv~guaTg3sH{r@VY6eVT z6_rEELQm>A>>L)w!tm*94nLeeNQ4HGtY2Bz*4%)|vr8hM2OdusWC~VE8_mHxg#ndA z22Y;;H+afU{|+8O+VUbCMu(Tp!RM1WwNxI(Z-?5!w<`!yt5=&L_94T3-E_m=%!ClD zfs9ocM1E9<=@B8Sbx#O6gT7CoSwQnLm~;lx9;Bwg6RuJ+__C?|81@_;N{pT#hC;wQ zr~idIyx;v^n6M=p#Ns!=JiH8#dEdxntzx1q literal 0 HcmV?d00001 diff --git a/praktikum/__pycache__/ingredient_types.cpython-314.pyc b/praktikum/__pycache__/ingredient_types.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e46a2e164ce53cca5877f25c7bc3cd6538bef02d GIT binary patch literal 401 zcmdPq3tVA>2U=+hB~_{JZhK>)N^6q#pa8RTyCB|KAwK=U_qd^4ItBj^sWmVxNfn6 z)!$-=s`1lgzQrCNpOT*(AAd^}s42+R#naU6`ML3i`UORa z*(I6TK%vaM^rF<1%+$P+_>#(k)MCAY%3B;Zx%nxjIjMF5CH>>P{wCAAftgHh(Vb_lhJP_LlF~@{~08C%S}JDIJKx) zzbrGmB)=##v8ps%-zBve$SKf|Ow3D3t%wgON=z=vOfJpUcgZZs$tu zQis(v(7-FLXHb+av`^)dWpkR6^8Im1%oE53rRJhdgzKy6trom84>j zT^M6!@Q_}%jSs0#y$>KRP3p+#XuKTy(d2)`#v*J?i$8~)h0y*nbB^>N=XgOr)$#6} zgqF~hQlcOnkSdG4Va+z0Ly;gE8@=IF#= zU9gRp8m2`}+huX94hWaMgx%G8!>V{tykgatbju5#C9$h78{7iRzT;KNtlO6esT1}B zUapgxPO)*zv2e_9vAI+>|X=5?R(9lX)W zoOhF8Wqf=*=MDB=;VQg4xA2)+rFCNJ%|^9w(Qtur3ZLk9#khs%iC(5=xlt=zG##s6 z!)FS-LasMMG3>mv&W60A0fSB3gzDK945?5s%|?T7ZT@c|{4cF?C*;36>)pv$A$ytnyKnb_XEe+QPGvEA;8JtcS^gZxg!MFfu{Ks*9Oz&+tc{EegZ zV0#CWZR>S#kr)WTwV;IP0sLf1s@O~}S$esegSYXt0%9(?xoT2_OIA1#^_a6DO%S8P zWrTnJ)f7{(*R>e46vnlBrC}LBcVWEN&@Fx#f$PS2*(5HtOxv*QAc*@1hRHRZR9PC1 z2>>ZEn+C~&SvG*NOQE~VSf?OfYCs!+S}(?B3;MWXmTB35V}{}XFw-FfH6GS18G)Jb zA0Thygqw%y*FQS}GwPJ~Q{O2AiHreV0>Nif2S3(0k z&+r5j{uO3J*iRwvA1gSAd1BloP%xH^L=1}M$w&{kq;kcKL-Z;&tBqQoSCL;OexN5g u<$2`6GvzJ6m~RvQL&~#qhhX|i5(ME#guX&wW_~~?ewVw1$rggiQ~eV)x;>=; 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..d6cc7afbbb93a25d9c625cfe2db7ffb35aaf280c GIT binary patch literal 11559 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 b5Pm1z7f$?5==e-H@nv|zmwqHb#Kiv#7E>Gk literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_database.cpython-314-pytest-9.0.3.pyc b/tests/__pycache__/test_database.cpython-314-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c88b48e37bdac4178c75a6d49f9fa7af4b0e414 GIT binary patch literal 4498 zcmeHL&2Q9J5Px2KcfB8p2{a*4(%nD^*%IwXvmrrgs?dTOgo+{y7E#hXIlE49EF>mAR&Q87E;gLP;;Q-)ERs2bv`I?=%Er%&d)RRX6B9O zz4eT9vb7~jV2u4b_U#`WAw^`|AvB1sF(B@dDI#;{iOJdbz&KwEB*?g61`{|FI3F4h zo8bg$C*4Hm4-#3(2ON7-l(}Oh6?~5D#S~|WXBAVKRt$C9YOuOJw))|wz&3&7a>Q;WXQFc5M8Qyhy1h_ zf&-i^UC9pw@(>penUe#P_Ff=25l7rUx``XpX_%Pp-my~ac5URk$z;PjA#UVutfdck z*zbEg`>!BQnU{rkigjmJ_KdZeT`$IiZxdtF4q_AJpfCG-K2w2rb0LS`s4KX-8KK|X zRX8;vIV_8XP=?zk4No3$v*`2ufh%j?yGbGJdUo&EIXN=IRrwK)T`B~oNdMuc{=(8k zN0W1@g@NXos0QWe!Y_r0eIkE%GdTO(jtsu;JVxO>?z?i;cOH4)6YQNw(T)6_avpo5 z-=ODLe4}o})!nf_VL2|h6v8|9C-x5e6LUSg_s0H+&K^~RuurRU1l~Vw&++|X@zuqw z#p`MrshlND*UAQx0|=*HwJL_8GBbI+uevy#vS)@b-i}P`N^vd;x~MhyO7dytvY;k_ zuk0%KDlj^_%H7VQ^+3vqe%Bz9qqalP>_bT|Wu&5alB16FRLTIGFL7efwE?1Gvxgfn zPtU3*Ei3bC^iH486-1nhGkl|4t;!8W)0JsmrTB;pkCYW1t1g=G5~d2X+GtVHb;{H# zD^}*K3RA5(OoO(jn;Ik~q*p-0usW%6y;9Rlwkn;~E7OW@uWd!Bq0Ff0!D>BY=S{1W z&oNeE)&V+GVe^Vf)mv3vDJv$-SfU$sDsBmes?S(~(lo=@sTISeoveQ1X9oRD-eDZi zLw@G8UoGor8fuQ~Q_dqg4stmI-`~B-=CCegF2nX4nH$=iSz(%TyEd0Os~W&mGgp;z zNxelUm{K&gVr@QiR;%ijd78^$N(~!nsZli3)kUk*PPHqsw}BQbwX$g)_gBL7>(sC+ z7$>2Y-6PLh+V6k86nHAN)urURl-!VxE(y=1{mc3Li)&)ngEKb#c(*QgIoGDxwY2DQ z9`Tdmk&nbKALog|(Q@A7K*{BvG(Cdz2WLDTKLPqrr31@ne!jUTX6sU7T}lA4CM7nc zZXi~!*|08U>o9F!8#vwV(2vFJ(oKilw5@z}Lj~k3*BtR~1m|0jGg9>W2VnlY-XiqA zx4>+_RUh=ew{TMB;rrggJ~?~$EdRgW0=rHYM!-VLA^=uQE6*~uq^V`oVE7thSZ`Ph z0`}I>S6r`{Nkgd>RVJYnv%%UB_9I|R%Gv?kqTb#t>VDt$lF)?{)`@Tk0ozgrUk`*G zL4e;MVILtR0Ki`oY4|!JEQfFu;TS>>!f}LN1nf~+A3_S@V}M;{lbr;qmDpa#d;vD9 zUjM&Ty9ongqRy2z$bdVJOSK4YJQ3}ZLY$qSz2xIYQ`o;)TeUJ5a8c#8nohW`LOe<~;d literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_ingredient.cpython-314-pytest-9.0.3.pyc b/tests/__pycache__/test_ingredient.cpython-314-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a4416317662eb39ec61594610de1ac23a4936dd GIT binary patch literal 4082 zcmd@X+inv_bk^S8tk-syTS%!=#pFVs z;tGkXmEa5dS{~Dvicd)Zk!Ylf_NnR{RjRh?Q_t+pOBx9Qf)_^i*>j(BX3pG>wP#fX zt^0@3FTYP9ROUq3!~og;0+8G2I?{!4L zsgg?7Qktf_Q3pDVbg>iZ(h&5+8_noKFUrfmb7CSdFm=4PNX&|5)@VM#I>sk1>SGti z$0n}eD_1AS@aN~JJ{e=3JK3L(U%CXmXCiOoE}?Bx00zW92XX6&Cay~~c@WjnoH*&_ z?P*0|G8>^0q6>3vdg6LzFgd5_NnIRF77}3wy3~n=0!^CIWvWgin%3JOD}}XRF~nm$GIcnLcV%H(I8#Ds<;MGg%9ya&flwEk zjryCEiI0FExxy-r%Y(u`W{Bp;!u!Z z7-OY#hh2M1Kg8m8mmw}a8OvyQeJSim7oV#uN4k zn_4xO$#xwyT=oujm+B3>;;G_AyFPE&*c;Cjc8vv-dtmM7ymcDh!cZx;*?ML{SC*7 zvo61I9)Xtg8oOMag5q$CUs=nvPAsF@ST0^LT_Bv|RijohZ{kT}l&Mv2RErlZ$F5iL zi6S2{*MqoKZ3SnQ<-DzeigC4GY1k&<8H`sNhRqiZP#VSy7ICR< z)y!HQ7_z^fnOHT*GE2iM21QD&rb+m_gz%>V=?B0%Fm@>{!!kA~D9ksY6v4q>jLSBx zu!>ctWfS%T43ENWj0tA^Jupi8xGP?t9*_WWKL+s69jMhUDShYKH`g|$t_`VcOF8mO zw&&hw_xG=7PHkoT?k(My*E7RUrDRIomSkD}qg|AW+Ztehag6Y5kmod?WlFgH5Psia zhp?Yu!QTX66Dbh$2C=BgQW1-_1w6uU#N-2Rc)%gXGPRZ))k151`rF~VyNSGw-Hi>J zm+4XN&kK)d&y)}SdHIO&_Y@x%w+q12q#y`S5c&>%oBbIbdxEC^7BfO|8v*dF{{wci B14{q^ literal 0 HcmV?d00001 diff --git a/tests/test_bun.py b/tests/test_bun.py new file mode 100644 index 000000000..6ac0c5a5c --- /dev/null +++ b/tests/test_bun.py @@ -0,0 +1,16 @@ +import pytest +from praktikum.bun import Bun + +class TestBun: + @pytest.mark.parametrize( + "name, price", + [ + ("black bun", 100), + ("white bun", 200.50), + ("red bun", 0), + ] + ) + def test_bun_init_and_getters(self, name, price): + bun = Bun(name, price) + assert bun.get_name() == name + assert bun.get_price() == price \ No newline at end of file diff --git a/tests/test_burger.py b/tests/test_burger.py new file mode 100644 index 000000000..871a8c3eb --- /dev/null +++ b/tests/test_burger.py @@ -0,0 +1,67 @@ +from unittest.mock import MagicMock +import pytest +from praktikum.burger import Burger + + +class TestBurger: + def test_set_buns(self): + burger = Burger() + mock_bun = MagicMock() + burger.set_buns(mock_bun) + assert burger.bun == mock_bun + + def test_add_ingredient(self): + burger = Burger() + mock_ingredient = MagicMock() + burger.add_ingredient(mock_ingredient) + assert mock_ingredient in burger.ingredients + assert len(burger.ingredients) == 1 + + def test_remove_ingredient(self): + burger = Burger() + mock_ing_1 = MagicMock() + mock_ing_2 = MagicMock() + burger.add_ingredient(mock_ing_1) + burger.add_ingredient(mock_ing_2) + burger.remove_ingredient(0) + assert len(burger.ingredients) == 1 + assert burger.ingredients[0] == mock_ing_2 + + def test_move_ingredient(self): + burger = Burger() + mock_ing_1 = MagicMock() + mock_ing_2 = MagicMock() + burger.add_ingredient(mock_ing_1) + burger.add_ingredient(mock_ing_2) + burger.move_ingredient(0, 1) + assert burger.ingredients[0] == mock_ing_2 + assert burger.ingredients[1] == mock_ing_1 + + def test_get_price(self): + burger = Burger() + mock_bun = MagicMock() + mock_bun.get_price.return_value = 100.0 + mock_ingredient = MagicMock() + mock_ingredient.get_price.return_value = 50.0 + + burger.set_buns(mock_bun) + burger.add_ingredient(mock_ingredient) + assert burger.get_price() == 250.0 + + def test_get_receipt(self): + burger = Burger() + mock_bun = MagicMock() + mock_bun.get_name.return_value = "black bun" + mock_bun.get_price.return_value = 100.0 + mock_ingredient = MagicMock() + mock_ingredient.get_type.return_value = "SAUCE" + mock_ingredient.get_name.return_value = "hot sauce" + mock_ingredient.get_price.return_value = 50.0 + + burger.set_buns(mock_bun) + burger.add_ingredient(mock_ingredient) + receipt = burger.get_receipt() + + assert "(==== black bun ====)" in receipt + assert "= sauce hot sauce =" in receipt + assert "Price: 250.0" in receipt \ No newline at end of file diff --git a/tests/test_database.py b/tests/test_database.py new file mode 100644 index 000000000..2e91c2123 --- /dev/null +++ b/tests/test_database.py @@ -0,0 +1,14 @@ +from praktikum.database import Database + +class TestDatabase: + def test_database_buns_count(self): + db = Database() + buns = db.available_buns() + assert len(buns) == 3 + assert buns[0].get_name() == "black bun" + + def test_database_ingredients_count(self): + db = Database() + ingredients = db.available_ingredients() + assert len(ingredients) == 6 + assert ingredients[0].get_name() == "hot sauce" \ No newline at end of file diff --git a/tests/test_ingredient.py b/tests/test_ingredient.py new file mode 100644 index 000000000..c74d66505 --- /dev/null +++ b/tests/test_ingredient.py @@ -0,0 +1,17 @@ +import pytest +from praktikum.ingredient import Ingredient +from praktikum.ingredient_types import INGREDIENT_TYPE_SAUCE, INGREDIENT_TYPE_FILLING + +class TestIngredient: + @pytest.mark.parametrize( + "ingredient_type, name, price", + [ + (INGREDIENT_TYPE_SAUCE, "hot sauce", 100), + (INGREDIENT_TYPE_FILLING, "cutlet", 200.99), + ] + ) + def test_ingredient_init_and_getters(self, ingredient_type, name, price): + ingredient = Ingredient(ingredient_type, name, price) + assert ingredient.get_type() == ingredient_type + assert ingredient.get_name() == name + assert ingredient.get_price() == price \ No newline at end of file