From 2cd5b08d4ed6e1e829e750a594579e319942e6f4 Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Tue, 21 Nov 2023 16:53:12 +0100 Subject: [PATCH 01/23] Added new packages code and test --- bin/ATM.class | Bin 2920 -> 0 bytes bin/ATMCaseStudy.class | Bin 456 -> 0 bytes bin/Account.class | Bin 1146 -> 0 bytes bin/BalanceInquiry.class | Bin 1116 -> 0 bytes bin/BankDatabase.class | Bin 1450 -> 0 bytes bin/CashDispenser.class | Bin 677 -> 0 bytes bin/Deposit.class | Bin 1997 -> 0 bytes bin/DepositSlot.class | Bin 343 -> 0 bytes bin/Keypad.class | Bin 535 -> 0 bytes bin/Screen.class | Bin 910 -> 0 bytes bin/Transaction.class | Bin 812 -> 0 bytes bin/Withdrawal.class | Bin 2489 -> 0 bytes bin/code/ATM.class | Bin 0 -> 1301 bytes bin/code/ATMCaseStudy.class | Bin 0 -> 555 bytes bin/code/Account.class | Bin 0 -> 1064 bytes bin/code/BalanceInquiry.class | Bin 0 -> 588 bytes bin/code/BankDatabase.class | Bin 0 -> 1032 bytes bin/code/CashDispenser.class | Bin 0 -> 732 bytes bin/code/Deposit.class | Bin 0 -> 844 bytes bin/code/DepositSlot.class | Bin 0 -> 557 bytes bin/code/Keypad.class | Bin 0 -> 570 bytes bin/code/Screen.class | Bin 0 -> 714 bytes bin/code/Transaction.class | Bin 0 -> 922 bytes bin/code/Withdrawal.class | Bin 0 -> 853 bytes src/{ => code}/ATM.java | 0 src/{ => code}/ATMCaseStudy.java | 0 src/{ => code}/Account.java | 0 src/{ => code}/BalanceInquiry.java | 0 src/{ => code}/BankDatabase.java | 0 src/{ => code}/CashDispenser.java | 0 src/{ => code}/Deposit.java | 0 src/{ => code}/DepositSlot.java | 0 src/{ => code}/Keypad.java | 0 src/{ => code}/Screen.java | 0 src/{ => code}/Transaction.java | 0 src/{ => code}/Withdrawal.java | 0 36 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/ATM.class delete mode 100644 bin/ATMCaseStudy.class delete mode 100644 bin/Account.class delete mode 100644 bin/BalanceInquiry.class delete mode 100644 bin/BankDatabase.class delete mode 100644 bin/CashDispenser.class delete mode 100644 bin/Deposit.class delete mode 100644 bin/DepositSlot.class delete mode 100644 bin/Keypad.class delete mode 100644 bin/Screen.class delete mode 100644 bin/Transaction.class delete mode 100644 bin/Withdrawal.class create mode 100644 bin/code/ATM.class create mode 100644 bin/code/ATMCaseStudy.class create mode 100644 bin/code/Account.class create mode 100644 bin/code/BalanceInquiry.class create mode 100644 bin/code/BankDatabase.class create mode 100644 bin/code/CashDispenser.class create mode 100644 bin/code/Deposit.class create mode 100644 bin/code/DepositSlot.class create mode 100644 bin/code/Keypad.class create mode 100644 bin/code/Screen.class create mode 100644 bin/code/Transaction.class create mode 100644 bin/code/Withdrawal.class rename src/{ => code}/ATM.java (100%) rename src/{ => code}/ATMCaseStudy.java (100%) rename src/{ => code}/Account.java (100%) rename src/{ => code}/BalanceInquiry.java (100%) rename src/{ => code}/BankDatabase.java (100%) rename src/{ => code}/CashDispenser.java (100%) rename src/{ => code}/Deposit.java (100%) rename src/{ => code}/DepositSlot.java (100%) rename src/{ => code}/Keypad.java (100%) rename src/{ => code}/Screen.java (100%) rename src/{ => code}/Transaction.java (100%) rename src/{ => code}/Withdrawal.java (100%) diff --git a/bin/ATM.class b/bin/ATM.class deleted file mode 100644 index 76543bfde35c4daa304c3934c927eca8f833d61e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2920 zcmai0Yi}FJ6+J`JCcRp}l-h|U*QHwj0NitX9^;WbTCUZ{!yU2=XBTDhjB9elGem`Um=<=$9g?duEr6)ggHOaN9+>3!l-(FkR z*Jhl0O}RWnV1I5p>fjq)WmT)z9lubi63X7(%+8civn1X18R^TCtSfWB%bB6PzVF3 zVd>DIi9Ilqc#fe^4+H5ilrhl-Gl>xmH>!t$;qZ;~CiY@q65pmk5k(AK2;(o9*pCBA zj8USfBnB>pFI+Zp5ZzjE$5mnGin3IphTXZUEh|gXbM(CJO!#X~U0_#^WkOlwUc*gc zMqrPztSWYOL-lK3b0)6h8n-AjqZQfAt9o6oDt&~&p@G~^X%&3WaaYF&mkcWLJrghD zC`(U9YU~Esj2!Y zT)~(2dS2E71}PK-P8y39#X7NAv&z#8JWGbPYq>%3j#-+<4HHY6#=a+M==8j7Vg)Sy z)T;8cZmq$RWEEsn_yMnpF}t(xVs>6{b_uU)a<5Ukfoyj0l@z4FNY=eAD^B?vhg((8 z;Fi7qN=q|s=LZ=_$r0h1r8gtcO9SEv)B-6WDk^bqCVN>eh2`qfN5V*)fGC zaT|I1tqrmtOW{pc%&0YFEjj9rwb8Unk}b_9gP(ANa||py{#x0ScP!n3Qh1B*^K`c_ zlXbJ2mdcfI|E&9Z!||F1?%}>}2k!~= z3}ib!@X78pxRk^%b?<2-kre|E@V;L5fxzhhTGnZv-{_Qjw~ut+3j3ph5AiF#)vpDH z|L<0j7Q#Epp5`}eys`rqC^yzsI=4$3!DI z&ZW0;JRRRczy3LyeuUF2+c>j@0h(!=XSXm!bC~An7S7SUK=b)6T%>u4=J*ySz6dZ) z^7mQxY2XkNc$(HTWO9UmJvfD4w&OmG5y31Ge1~tDAp(3CQ=AE0`5N83R7ay5-Nb?P zA2HB9-NJ0Tg)AripFI9M&0GYueq(`eY(D-Q7sasy~{$2TJdH~BROetOzy{=wC{%xWUvtJAQ~ zN2AleBYZ~qEIh)!6@omef%2Ky#xL@ln0$l>Pq-Nx;&W~r4;eoG2p|5p@WpL>oIm?{ zaE87(VL84-Hurd6@AI;}$2{HV$q#TI4~hSM=H($4@ByylBfQF9a*Lyj-$u%@*5*bg h_ze{o+)uyJ;Hb;73yCk$$E+Ma*301U=!)U@{{e#?XM_L% diff --git a/bin/ATMCaseStudy.class b/bin/ATMCaseStudy.class deleted file mode 100644 index 607c10d4dd7fb15304bfa8a9ae6744532e8a1e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmZut-AV#M7(KJDuDhLH!=Ros>RsS?-;=L0$I$yl5IZ)hiDy$~pc z+nz1z&7_V5YW3%EQFxc;f4b4!b6+V9lN_k$+pQJ)&6yHVQ<4eSx*e z&P54jP7L{uVis%h6T#DxpL70>>PDora&(c0M{;2$R$CKL!#;_5CON<%gifW<(4o(MiXYI# zn3S0K;0O3o#&yn&1S~Ie_St8xwf9~de*gLT3&1Npi6JBqdt=+9$E__!-zdLvH`W~t~)cj$Vr zS*X@(?e5k)0>;j$=OhqD+C&l=>ecFEa?p`uSKWi8;T^l@0`Yb*;0t!_9XrA8-#AgGKD71)a_a5cKxt-=7UoG_ z$bs9Fp3gFBt@YWC$JIVieNRZE{toCEQ^Y;d=#lgKiFpQ7E%)T_N`s5#us^$$OYJ zz

T;7_HB5OUX6VgUUOURLv)?k5|~J+6%rW^bA{^sWCTGayC;E7M>Tz>% diff --git a/bin/BalanceInquiry.class b/bin/BalanceInquiry.class deleted file mode 100644 index 48f8e6aac7e4689adac3e3b62b94bed3ef9ca787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1116 zcmZ8gTT|0O6#f=kQbOd?3UUz$7qx`~UJ#{Rv`}&C6kq7@z74TP(?pY$k)P#Do$EuXZH8&lMTTh79e!!nr`|*uSuK3}V!!fT#)#%c#|* zA&|Ky#CkmLWyRL|Sqfybga|Z5Xo)ieb zrl1p;OhrK!4VYMBLxkKS&!SZwD|nz`Rlw-2XW$_o3FK7JrF2|1pkyE%ZN6HlsKA1O zH3d^_>wYBN1d>5fU{X(ZX4U)P2Q8`8E9uz8V+~uBu}jjx6Fj9B7f$%al~<>B7|N!t zv|@^U?UTHeTNI+XbruDV*QB-?Yzs`88|HszW}~ZB$yDig47^Y&NBdK%t6c*nP|93# zRqpj28N3qUP>n{a6W6eie4mISA0Cs}qDbC|(A*9sO;z#`=_ yvCY;?SjKCfsy4P6MKVbnY3%bRN2)p{F2`-;76YgP0v*zItMy8-B4FPrPBtH-0_K=s@q-BgBb}KS zh@Pu1c{U7mIitPuuXr_q7(31^+H7yc!A|T_S`Irnf};YRtFr7b5qhmKLz5|aQJ|;J zys(cyS}YaQpw70x0vlB`tI{tkd!{5u>(Vtvlvj1mI5-J9!y)ErFTr!wK$b(GLQFUq zQwY3$hB|lK8OAan5ls#Lm*Ie&{ug2EX zKAD4R>#&OkaNay4YE^i%c;_zhjPtb$Wf3rzeGNMsdk5zg64{qX7;oV$^c*^!>`tL4 zg^jP#JFDVR6;EzXZb@M)KNWt#{0O%3>|+g(H;PVbRFm(*C=wW8)M?hicI?o2&Lq_E zkl9LEM)5D4iM>A&H71^*cS~&G$n;PHyZav@HuU_yAqIM*kAHm^&j~i#3Z{_4CcZb5 zJca$}*9CX##xr3-(qkY02_kHy`HCP*o?aNgumL7*p~u3)0U!|}YzV`lzJSmup~-B2 z0|#e@KO#Q7t${;Nji)UkNsSm}ANxqZAKfgVy3RH;TOyJ;rbUnq$9YqoJ2*kKq2+Kc zKhSMyw@%_zs9>D92-)IVK?A3s@zJ#0Bm@}I#rm3{Ri9pX&LS78 zDpIrZ#n!6Q4NR_Wf~}>Dau>$hhGDm)*)1Pz+)}+ CIN&V+ diff --git a/bin/CashDispenser.class b/bin/CashDispenser.class deleted file mode 100644 index b8cedbabb217701eda2172f78400527c77edff6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmZva&2G~`6ot>kPC`>Bj??f{no`)6Ea(G3D^)>AmO?6#5D7MD;!N8qu3h}o_hH`+ z5>=%x`T#snmk4pjwkj&I8PB=C=YHo}{`Kej2EZ$Q?EzmuY z=W-{M(b3Mq;zR`*yZnhi^Y_PJMh71!GXdcnXB?%OjIy~5b7cYIR-hilc|=3wjgEA- zCtz*AoD0~ac&S>j&~ebh>Iz74u!4qwJJyk!*=wr_w9d0GZ(FLW5DAJn&8Cu%9MuG49Lc&G!dqRd$K&!rAau4hz+H`c#Go58W*3hRCc!)>UtU0?4ySvfthr7d1Kj99R z|CzVOWPP}Fnt9JlPc@HjJT7wANqoYa$+ymJ%DhL^hT)YAgZPfRePLa&Xu*W;F)oVr h2aLT*(AGa7?+)bMft(7oK_5TaZ@B!eFrcbo^DlP^aK8Wm diff --git a/bin/Deposit.class b/bin/Deposit.class deleted file mode 100644 index 57b0c3f71f0c14c3e68bdbb1340a34a706e145a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1997 zcmZ`(+inwA6kU_Vu`>)Im;?w3^w0~~#&IYuq$J#oowNogq}X*EdV!PiAsI56v1Z1h zk^0i7enLeho_R!-N-FiCAJ9*#RMd6GV@N7hmd59@_daW_efjJ4AAbV44mXVf1L>;j z_@NV}F=XISGmu^=?a1*x1H*FL?|P8|qsq;e+U>};flU2wyjq}nyXV_*eOeu^C!zF~ zx0yNP1CAx?MF$2w>D}j^{)-49w!pE_&J+sg>^bx(b?d z-Bkv%b>Eh5O9qbKCx=7PrV|<%=_4Suquo#iW!u*B^aAi+M%z6GTBC#uAK~$SLIy?; z66|^QH034D_sPiosPC2CjRdBH0)M*`E%`wLp_~)|pRQ`X1w>Vg?UiO(Y6zIT)Dff!ccCI zjVPe=f~Gx(>lSX{rh#LLOVxK>8T1hj<*NBs24&V-Nn2MeRP_VdgAeG8n^?kUX?)81 z-KVsL8t%~E2^SOm_m!=j9mSF-{RbJ;4Lmp3{BH1;;ie45I%`%0iEYVTxz}8r7tKv2 zwtY|SiYMJL>Pw^A;;G}h!t*1#3G#GYU1)-3rz5rWl zm<`x=*vhF~Etc~u19voK(RSJ~>VC4lHyRX0=*M`=&1IqWu%%}!mq=rP(c6Ji%HV;4 zNwX3g=&IO%St=3J`o7L5oG=~;B-1acw<$3g>Tn~H_SUlO#EqJPG%(+{N}rN>sv(FX?1 z29sc`B}WerE2*ZEE?}IcnI3XO7|=b#)qtKq@js^z|4-o%ELt6o&qis@p2irzM|tuC zJ+;?(VX8RuJFD3v$Lo9kFh*D!5$Gb$PBaP!dVoMRj`}m-T#2Da>zI#;I!?`*?h2;XjrB}FA_zjmv ze}0B?G5hfzt`zlt57&y>TYI?8&51oM-Z=dXCyUv;Jh?!(<(|#wFOV%}zvSTyj1;qL zTxeE<(5&u|7l=JY^d|9UiF1mGritkc|Igwa@;HxK6xixBSm3IR%UH%0tl}zKxP~>{ z#6zBHH3~iai5e+<&7aPXNy~3yHRkyJ7T@vxhqNEV;A^a=aX*bY<8NeA)QbZ$$;^+8 zrd1PKiu#4@BQhtci9M`epZ*1@(U;Rdjbp=qNt+&@Q*kzy$fw4f-({9oaDsh0$!^s6 iL@(YOd{Z$hjymSlVcrH}R2;znU{XUOkSBB-z}CO7AjkIr diff --git a/bin/DepositSlot.class b/bin/DepositSlot.class deleted file mode 100644 index a2664ad97f3f37ceedeef3f28138881cd983b39d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmYjMyH3ME5S(=`F*pe^`2#vY2!8;NhDT*357J_@mC z5V)Dyxt+P){rr0W0C0h6h=4G>=8dh5TNKuXP=t7`8=Vxod`#xqnsY}OoSV|POG5AP zXh~34cEu5T*d3vd0b!Dwl4slJjH`Q{6-=0>HrK^cSH|n#N9CSOO&F)0k!RvH^-bAu zVK;ooIh%%8?W6}nw6NPM=Ue0dj61PYza$PIM!5wDq>@zxLs5w^3HOiRu=CosBSGH= l6o!JMAA|5%6k!h&K_5O5_P#*9c*K7)>Li1|WZb&;zX8_XJgxu$ diff --git a/bin/Keypad.class b/bin/Keypad.class deleted file mode 100644 index 9b066e220ca842b7787e1c6ebbcc07d61efe2393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcmZut%TB^T6g^WOEw#KweByHfEF^J@x-ps%i7skLTn;e7A*Cgy82KkR8kIy7KfsSN z-YLXrbTe}w=bU@*`S^T&2XKTv9U4RYTug?%t0T&g>GNA&bGX~9UAFt86EMW2I~>!W zZ-%{bAf1}s;jSzEI*|{hD}!T(NV(Eth@N;|VIqPB3pxxPNrvnnUIJ-kb!2|cvnQiK z3@qf3XV9d}P?$}WUag^4umfN4LEVIff>K{%ST6qysk9QHriB>d4C$tH#l?8g7XB4) zJAxtC^g7&WabK!@UW^7ea>QUXXLitSMo$FcKm-IhTmpq_fNgCBB6ko7;Pq7B26A$aTAAIARzZ0T%zW`@jWi$W) diff --git a/bin/Screen.class b/bin/Screen.class deleted file mode 100644 index a03675802694ce60d6bb59226365236d62e87a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmaiyU2oGc7=@49v}v#JAsWT?V7a_A|6S}zz$Zy-Zgud|;< z^xmBclzQoD9f6Dc?)1o$Cp&67m1FvxM(^zSeiXX?xYHbzaS4kiYIEWGC(}qxY+Q!J zU_s2BPHJ|8_G>yL`jwn?EL_1g6ITTm6ZZVJjq9ig6ppk*z?}SwQu{Lr>zWU&>(=-? zHtuSQnNU2RM`glp;CV89J_%w?HyYjMpoA5+bY*q3wRK?OJ{l(0<|^w3F`H(iiFG26 zr5CH+1Kpc$b0$-&N~+tm@c=DCljAAf{!1I*&3My`?PR$5hVWX7GRrHv0#-kW!;yOF z>U&*CudbyVi6yY{d_{o4FTMnhCRc6Ff^%X06G|WWk%PriZ)@oSM>`d8zQ7e90xBG} z`5DzY&ZUp2Zk(ci=C_jnWvZ-%QBQRlgAUxlO;QAI{fl<{Jgq`n^*^*FEN9tvsMZBL q%vQT+d_{gQzxElc{ZnkbJ&$(yGV3#F=XX$t9eS7qeMDFeTR#DnORnGm diff --git a/bin/Transaction.class b/bin/Transaction.class deleted file mode 100644 index 1330b55e97b38711f909025f939758b75d82a158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmZuv+iuf96r8o4q)FUdnl?bMP;Q9@RFg76$`BRX9apK;07}Od?>XHWTpf<{)bA;di_ll zNBW(>=ID6Ay7^{26>tuckE#V5T^DWi1nkjx+JwNGiyG<%t-EMo#h{^!CRzerKZ;eU z?_35mPG9qrP|l_@jZA!b&uzeERf}(!?kvK_Ao#n z_nGxdJ|19`5j$avb47u+IoT@E4rklU?qctH@`Sf}Rr7wL|Bb+c8C6n;MQbC{2rgR- oJcO}lWLL?9?@Q$EJIVWadk(n6d&&EH=80P1>+goQ$T(al+exLike!egL^Tn^f12~R* zDgp|$i07 z)zD3u0-+w9A>P0j~*|J{_kdcwIU| z2up=-9Y>@>lr}4X&~OxQs5nNr%1);o|wb;F(SZYW@b{uDPyb1QQ zE)$eJD^2*C6A_$M(5#&+nCv>k6|<(XR4kW_97PPfxR}r|f{cn$Hm#4Dj&nHAj#)>` zam2JKJBqCqOJ5fYqMf--w~x6c%bxCw)5n;Cl$Nrc^(1`z6!pCBvV~L1fNWZCSU zMw@YQoAJ6O=gPBVafE6VcjC#lIiRqcb(i3Ux{2nL1Pa&Kb_6FM8LhaS4*xT zy12goRzdAGWS!@A+>o{1URhfW4$3OnQ(=Epbu7sKkFcRr_I%lm;HEU6S`Y;*Z#ZVb z^j2xY7%wduVp>=>q15EwU<8)zdeyHb$18A|of)#E85OrFHpceLnWrtemTEUPPeL{p zUg7x39U4SHP9v#+TyEaY)y8`dw(*_i@ZM@D&3sVHGs>4c)RbEFEzPZMzhFm8Q}8*N zrqFXVKJzqo^Q@y3u#=V>QG;EicB6?eCwyJ{XeLK1c**l6sl9lau}Eqk3@^rdMjP=g z)nh+n3o(XQalns6`F=H$2UYzo%XqCf$TQv>YT?!P9Gxvcqca+Qj4Ms@!{KH0q~z0s z*w>G6id3WImeKzZF<-*_x{Se%Z>NL(O`*ECmXUsneWWgUR0FATkJ?6Rg4DC-hby1S zwVA@|6AT)-z7-vsW1Rd56N81G<`V8wBsJ}xt!`-IS^ zBDhPR1|i&zCA>%IL-Y@}aA<{3VHJu3mhY&_C#>KiLh`9orSfA-ed%t57S6C(Bbdb)3WVLJ)D3)& zoA`nNe~H`pinH?#KEStx{t@r*DDeazd8O<2ky$U@6Y9trRPop=PJmwTvFNuMQHfw;mlsd)cyES|KkpGCMgRZ+ diff --git a/bin/code/ATM.class b/bin/code/ATM.class new file mode 100644 index 0000000000000000000000000000000000000000..c9058225da5238cdd8a41ffde37632702f69e804 GIT binary patch literal 1301 zcmb7CTTc^F5T4T_ElaUn#0y^7)*E=CUf@O4WNAxmXhCTK@x`2;J<>agrow=0Co}^tjbPMpmjL-d;1Ub9#+bvH3Z>Z$hkdRw)gmw&FwMCnFwu_L zyRo~9i6egEQzSS|Y{V`mCKwF{4H5WUVl^aBeypdX2pe~~uL5DZp2E(i6HwzUhLBR9 z%A*D~v`+(0U?#z=rGf}5uQ_dJv)=sJ+I+Xu+TOPiNNO0!G7kmpe#LcrQ<_1-kL zojs==MNq9mqxp8L+v-Jbp1?@+ee#XcjlL98nAZgI3yZs$s-vz2u(8;grcJGtE<%+6 z-;tUJ$~)$+&D78r9yLNq+t;e^@!<>G8tV*r?h=??XrDFGHCo7n)u_>OTS%U4uScQ2FmPcv>`dLp$-7XMC~<-d9V&oixVmx3!37wN zb_xY3#&!&>*p5Rfwi9qMwq=-%?G#L-or4*~#du;5q)2gXKT6Gyk*z literal 0 HcmV?d00001 diff --git a/bin/code/ATMCaseStudy.class b/bin/code/ATMCaseStudy.class new file mode 100644 index 0000000000000000000000000000000000000000..181f556e03d97efda7e5ac8caf05630f05b9822a GIT binary patch literal 555 zcmah`O-}+b5Pd~(VMX~8)LY?%9^~Rl)Wi@yp&mdI;Qi%RC6HWB)k221p z2^dK{^tCg2^XAR;w_GRO|d({#X*|Agq$w87KKN2(12t+h!-1JA% zvkdDeDpK~0VXeO3V@S5B&_RYFx8PnFqfHtc4DvQIa-xHo^tq?Qu?mD$I^tua`+*FP zxtr+@CHJKl2t%B)@E*iK@>-4iT26SREf0nDhTIZOK90%5GA*`Ub6updnMDd)4CQ)z zVWeY?iU!TtXs)dyc|8sL(sTv&W+=9`CxV_ZDvp1WNjp>%hEn^_LYg#eC{)Byso$^a zkw%4~`tQIDZbwgzCofg(qOiR5!`M2ipzYG<010}fuukYubVON3xBH6pUD16;_I=LD o5yl+Q$rEP3Sty`LQ3fS!Qzlk8_@z)@q2SCF5_7E`!UT4|09BZRwEzGB literal 0 HcmV?d00001 diff --git a/bin/code/Account.class b/bin/code/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..16191e5fcc3ca7eee710ca413988436ef3f23205 GIT binary patch literal 1064 zcmb7?UvJYe6vdCbtm)FO?K(F8v#e~83W*Ad2gCqrP>>>3W75hbcyk@A^+@9?bt}FZ z5=ijQheBLug>@nm>>+l1@5%4_o|_*(zkCDm9QR!m7%D=4yx!{a}p;xm;f^Mb(* z!m!h69WywusIH3|L+z~I>onDA32O}UU6RU)j%PCRg&vKmhEY24$El`Tqo=;N(i=)Y zk|O3QX~tZ99paIig;-G+K6zQ!1cfOaflAXP5cS%`Bh1OMyKBli++P$x+zHih&qwzh{ zZqQmJ4d~gV)#^!wtGJfMuH(i6pT%+X5|@pgdL0D645^jM zogaldyMPE1QV$-_$D22A?3>%)e*t{K`vet*mhltr9#Tfm@TvQ?wBa&ARbi_v3%0)i>)YBz(bU8KwJ0XKz%)8-?BfuBea>{4y9mvBlih)1TNc zDSrl3#9PC<*hHd_lC8>}{z2_WGrdCny2LcZ78uCc5?e3*6tB@Nb1iJIFci2uhMi{^ NHlJm9D?Jsw`v=`JjP?Kk literal 0 HcmV?d00001 diff --git a/bin/code/BankDatabase.class b/bin/code/BankDatabase.class new file mode 100644 index 0000000000000000000000000000000000000000..761766756c983fc90c435fca9aaacd03dc4bd654 GIT binary patch literal 1032 zcmb7?OK%e~6orpNl1Ya^nwIi@IAN14APd+)d598_B1N!hS_xR)ajeAcWE^>%h<}Cz z672a=h&xF|2Wcqk#$)?le?I4Ue*XIU9l&$k4^R?lDm&J_JxY%I>}~0K;zSJb?nu8XIG&5%p}IY5V+9k9txCSGc~|PZaoFPan8CL zE(z#^#Oc(=OFfp#&gLd2Z)_sx&PK7GJ(c0cXsYE{tC$@3%t;;7M9X$tj;&5*V!fP^ zS5xV^O@E%Vz9NfMlAXVCpSoEokRwEpXuGp7aHNxV_y^+BqgK&3Mn zbU*UN*%eFToLJKy@w+INTIRd@?176T>nZ+Is47m)@SE}ZerB^W)={<&_wB+d{nlho zn|U7(vv|+~zaak|0wq*XrVW=bJo?d!Jy8JQ<+T`D(2G8Q=JH}t>LM&lSIwm@L+v3Q#@8O z5srFNA-{;J;++nUt;)Eup3jAsGw!KPeND;q{kCG!P7t7pb^`$(F>H6EJ0nByw3!|j zMq80KYLL$-%8dlgrj#NpMKTsn7xK#U|h#jhW&r; z$*`-lVSawDrB=ol0w)VWd6ZrXrB4jO(B@9654!aC#{pjzTVWp*JYBkiJ*;AlP_0CD zV%7q*6uHOF|@$8+(+P*t^zxQ5N_5=BIU%dThk?Qh@A_{YyL-vGSEvnomg^+1Qz=~Jq+$W~Dn*v&IzBUL5? z8)+p_k%?X^DrNa%1&gwqz$$O=D&(mWZww%+LtTFC@@5-y9(Y)wdhMLr!u1=RXF(j!Lx}#xyJ=o zaaW-6QC`bVEY++tFh-ji_66v@GL-4~nnFL&NgBn{)$FH6Ph(16`rhVvPJT#1EDdW? z87$t$-O1Ogxf0a;0E#Eic@qUCY)LFHi z=XO}lRbrRdJ1Xp_|Hr<(Yrs&IEy9{ zCGpT{=k@i?o9X+<^DBU3Y!{FdsA$`x`WYoQHNG8LUqGJGdo@<|NX7m7W%r)67g#tl zvGFGYbGv&t0{K&ZS3psq{KIWJXI+3r0lJPIr8XKVX-qH z*&`h($DBmz2h}H8tI3|FRL0iJq4IhlJ=5qhVGq-^%ylgc5n!o=c`OU8@3wx7w7oNN zzmXX&w@geIqhXg^M{#X|YRhUB-6&_W{2R>sfl0Hw-}7iNXwqgprpP9AMVbsZH5tQQ zfDM72e_Is@+jitMotvzFWop{{nP=>P_4reO9G~W~z_GyD0i%NV@CCtbHGD$pZNe#Y h%sAjx;aK`&VFlF*wu&`I{wl1`PzYu!Y_d)cTc4F>ftCOO literal 0 HcmV?d00001 diff --git a/bin/code/Keypad.class b/bin/code/Keypad.class new file mode 100644 index 0000000000000000000000000000000000000000..e3dc844199028b0cb661aa3a31fa1cb1005ea417 GIT binary patch literal 570 zcmah`%StOj5Ir4ZCQhQs_5IkiS?R`XTwNau{>h>DRaCe*g}!5uqed(=MU*89inyiBJ}3-l}`mPL=JqFM7A6gTS=0 z*_iV}r%;kV&LONBRF`3eLs!y`jl8K{{v@Xb@3VI*|!{{O73%|m0 zIjuNGj7A+1ngUB(ld}s+-QbPw@8yR!I>yrZc-SLNvDb8B@`bgD?>o6s*aTb1KO<1WG%8$`xQCb9Pvfr1fqf%N|$y`->CM%}Vmx4Vk(}LlClAw-O6YFRT>N(} zzdCjV_Wn5=_jp_vJP7pe!Bdy<)NgV(x4hVBa2k9jV>kDj&P=e_Sp3C)m^4!7=9SfKkDB@(uM*-Q)(%JI-q8a10#q+2Yt-u&|BpZ>)zlBYzZXj4c$NtWbzo dD(wD;LTjbMQ#@Pp5T^UPhu%ts=Uh|6i(jf}ka_?B literal 0 HcmV?d00001 diff --git a/bin/code/Transaction.class b/bin/code/Transaction.class new file mode 100644 index 0000000000000000000000000000000000000000..ea940013bb58141f218f253dbd6d34b8ac2f5dac GIT binary patch literal 922 zcma)5O>Y`85Pc?ug$)UmB>hM~VrU}4C0u%H+DiSDkWhPoM(WX+5p1&9$ZMkfvr4Vh z-ut7f&MuL%v`Eci$2&96&+}&NU%$Wo0PqsW0SW?jZO7CdI%N{2ePm65B1g~FrRv7Y zOuC;&=cK*Bw$j=zjQ_ZpjmQazovGbpV165_f()dQs&~F@@k|K64+g)-{gV} zD!qtI!snYJi$R?WVl<&RJK+9Rd1m93?isq_Na?HjiSJ>XCD2 zM={Nw%dj$>k{pwcm1E3Y=?gU>*=otLr9>L* zPOpqd0?q#l6{zt3^);-k=O7$cD^*~U(xuPVfWdV z7z6(9vQ6=f!ady2Vh?bTW5{wD!^1TUdutgU#9xtcg~p<|*3( Gj{X21SIA%h literal 0 HcmV?d00001 diff --git a/bin/code/Withdrawal.class b/bin/code/Withdrawal.class new file mode 100644 index 0000000000000000000000000000000000000000..ca804f143e5e8a4ee14ff11bdf04a789e184cddc GIT binary patch literal 853 zcmah`O>+`K5bYrdWF-*-&=zx@D!7jRUDf`FPd0kuCU7X}u;U{r>pfZZG%S=0$i zr;HX*!nsMc6Ch4GnbB2@fq4dC+y~Y3TI?A+4_vEbGAM|@% z(KR}8sNEQ&l(yJeiS?f=t=vli{nqJ1VJIz;?ktj5sAoNNIKhOL(9*%CcE@7@#V$`- zh6c}jju+UDP*2-^YmKeIo&b8UEhQ$ppum@A9;*nmsr}fRNksE!zPCLJ$qz_IXqgkE zoZ*!GX44N0CB8P!pQDqZ@0doHF-f;h%O0uec~FO2Rk#7S1?;y5D5^pXxN@s?Jg&ea0f+w`k2e+Y z)*`%mOFDh``6OR9cVG?Pw>LDYmGoL=hH9&JPqG={5SYh{D?$OTL5Xh#C_^Pbx54A{ z9$aT!KsCp9m@W7jY8-bNdCGZK<$Z_xr^d~%u>UjX-Qk#30e^QnR`a{ZY6m%XA0DhJ hWW0sK!wm`t8x#uQ=idK%__xBx4GIF9+_eCY{{UX6!Z82< literal 0 HcmV?d00001 diff --git a/src/ATM.java b/src/code/ATM.java similarity index 100% rename from src/ATM.java rename to src/code/ATM.java diff --git a/src/ATMCaseStudy.java b/src/code/ATMCaseStudy.java similarity index 100% rename from src/ATMCaseStudy.java rename to src/code/ATMCaseStudy.java diff --git a/src/Account.java b/src/code/Account.java similarity index 100% rename from src/Account.java rename to src/code/Account.java diff --git a/src/BalanceInquiry.java b/src/code/BalanceInquiry.java similarity index 100% rename from src/BalanceInquiry.java rename to src/code/BalanceInquiry.java diff --git a/src/BankDatabase.java b/src/code/BankDatabase.java similarity index 100% rename from src/BankDatabase.java rename to src/code/BankDatabase.java diff --git a/src/CashDispenser.java b/src/code/CashDispenser.java similarity index 100% rename from src/CashDispenser.java rename to src/code/CashDispenser.java diff --git a/src/Deposit.java b/src/code/Deposit.java similarity index 100% rename from src/Deposit.java rename to src/code/Deposit.java diff --git a/src/DepositSlot.java b/src/code/DepositSlot.java similarity index 100% rename from src/DepositSlot.java rename to src/code/DepositSlot.java diff --git a/src/Keypad.java b/src/code/Keypad.java similarity index 100% rename from src/Keypad.java rename to src/code/Keypad.java diff --git a/src/Screen.java b/src/code/Screen.java similarity index 100% rename from src/Screen.java rename to src/code/Screen.java diff --git a/src/Transaction.java b/src/code/Transaction.java similarity index 100% rename from src/Transaction.java rename to src/code/Transaction.java diff --git a/src/Withdrawal.java b/src/code/Withdrawal.java similarity index 100% rename from src/Withdrawal.java rename to src/code/Withdrawal.java From 82bbb2f1570c88b4018ccfda064b1f17b148c79b Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Tue, 21 Nov 2023 16:57:31 +0100 Subject: [PATCH 02/23] Added .gitignore --- .gitignore | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..524f096 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* From eb1ecb98b31995c3db403adc2ded2fe60942713e Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 21 Nov 2023 16:58:11 +0100 Subject: [PATCH 03/23] added package code --- bin/code/ATM.class | Bin 1301 -> 3060 bytes bin/code/ATMCaseStudy.class | Bin 555 -> 476 bytes bin/code/Account.class | Bin 1064 -> 1156 bytes bin/code/BalanceInquiry.class | Bin 588 -> 1171 bytes bin/code/BankDatabase.class | Bin 1032 -> 1480 bytes bin/code/CashDispenser.class | Bin 732 -> 687 bytes bin/code/Deposit.class | Bin 844 -> 2092 bytes bin/code/DepositSlot.class | Bin 557 -> 353 bytes bin/code/Keypad.class | Bin 570 -> 545 bytes bin/code/Screen.class | Bin 714 -> 920 bytes bin/code/Transaction.class | Bin 922 -> 852 bytes bin/code/Withdrawal.class | Bin 853 -> 2584 bytes src/code/ATM.java | 2 ++ src/code/ATMCaseStudy.java | 2 ++ src/code/Account.java | 2 ++ src/code/BalanceInquiry.java | 2 ++ src/code/BankDatabase.java | 2 ++ src/code/CashDispenser.java | 2 ++ src/code/Deposit.java | 2 ++ src/code/DepositSlot.java | 2 ++ src/code/Keypad.java | 3 +++ src/code/Screen.java | 2 ++ src/code/Transaction.java | 2 ++ src/code/Withdrawal.java | 2 ++ 24 files changed, 25 insertions(+) diff --git a/bin/code/ATM.class b/bin/code/ATM.class index c9058225da5238cdd8a41ffde37632702f69e804..a590ce8139811a34c2282655c8c53f4a9f6a8d3d 100644 GIT binary patch literal 3060 zcmbVOZF3XX6@JzdNUWCtCLskISOZCHVaqnqP;BGY_yv?mwu59F=Y74p*o&o=vRVPk zOOrM)ElD6DX_Lt>@Jyy3+L>CO2{ZlN>CfmN=!Z_fbdr$g-d&-k)0xcV!|I-U?%jKy z=Q-z|)jz)f=5GMb;>!d&G$idxQ4CEMatXvW?7e1Pw}wiVyEZhxdQI5AhJE##@Fwg2 zx^R8RwtP|4pgphQQM>MW^iA4!rSAH3_42ClxRlYbvu1ljxEgk6)#-UP9pl1=XjCm8 z5H38crd-%TfVhw z)r5xq!JZ2dCpYc6Fqxg4o0@qgGxywL=JE;wOjX>PZ@K=GRjP{^1=2L=%bCKZ>C2PL zlUeDZT8ZhIh53A@Ag3`6@tG@uP3d-yJFeqTXo&UoFL7y#y6T9*G|+>?yP)BifgRW> ztrG?kNG9+kDMb|0@dQk{-fv(R^aM_})&rq*q=NOdfle3+3{wR4{zF3P7z(zXHn1Cy zB=B=4R&9$&rQ=Mn=@$m}U~dAWOtsn+)k?>?VApvA`_M(@vW_c)To5*6;sR&1-Z zWOBm4s&vT*M`wQ)K!}RwE~BHET`C zI2s=7%eE^r?|Y8BHrBtSQ=(@KJd495W<^SKk;Nkya|Y(*;{K}eu2#Hq!L!_&W%~}3 zoWug_OE0XmB+N#o-fLd0REnz&(aS2x`~(+W!7 zbXCodnv%w%fh9@fk%wu>lwC2f0^XS9n(#Ajwa(IIjbxH|k&^2(?Q<70bMmlrcv+Hr zMZ=E1Os4<&BrFZX8TYzXa*F>G+^l#eUrU=IO5bak)|%zGX|f4%wytKZ>bO!JVc@F7 zv!?}>+jGLL%e8d_4z9^k@C5IAL^zp@On;Ejh%K_h zH4O*!nVXK!Jeuq%X01{4MLC^LC&6+V)>kTZvq+L|#SaCy%z$=Hl-Q1#z_eM2aO?`Z zP$cSu#t`wb{B+sJWNg{M_LW1<`PQ*XGJZzh~3v%LM9&?KGG~Z!51x0v|H5>ZBGrtEA%= zK9;B4)-dzqrvwLwy*ZdX)L&GXPuOZzn2@cGJGd)je5PUQC&h>~Cq`fg^&3^TfH(`J z%Jk)V^K3Ee$expAM@h@ZfL_+DY{s4Fkj+(gY1vxU$QG(bwn{a!7pjr%PK|7691meX z_p>D^-(#E~h|C}7{AZE*LCz0F=G}~`$p+8gBRt_#qR}|crnYf37286u{5hVwhbLCH z@zfUjXr^cmY+;b*5Y3S-oT7P#=F?j^OY0FNV%gR~BjNjI$? zoM7Z3Mjpjc%)rDixyuL;;8&RBOv8l-=-#I~65Yrq_NM-dzOJbzW>QULIO+ZB{=aBu zBcSDudG6S}|4+UYLmNmxXD1nGfKv7o))3(gGyDiU;VGmEw+&<@1o9luh@&HB5CmH{ zfk?srPM=KRC57j569pQBO)QTq#|v%8`4m0l-91gbBxRL|(V6O|x|=Z6=2wYTN){j; zRp~xQxkmZz8l!0AI7VE@iD!W05T@`nMH|B`nO&kx8BBA$h-VafGr$$1-^YJUt19uw z$j+wK0m+EtcbL#LIp;SgWc44;;#^(Sva$1<6t#)s#Nn^$0nx~$NG-smwV#31;U?Cy zC!5&V#34nfN-p+_vrTc9#DE0`yUgPjS@~C(lov>^$W+)&#Z^*V;}^vt zy=$bmL3(A%?;^)>f$tRHDY~fua7ecUdHARkXq+^!v&uVo@-%Lca7+>J!jA8dNT8&B zixZl$`@c#Oepo^Y-r*aP=7eH$lh~E#@~gT zytfS&-0Q6VH!z4d$?+}4A*lR`2ORh*3(@?WZ_6^PYPoKih7CRvo%9{#Gt6iH9^P9a z$m0?ypYd&cklVz>J=}W8&80y;r?&ACmyh1Vo&UFdb{n7O2L7yK$cqz{>agrow=0Co}^tjbPMpmjL-d;1Ub9#+bvH3Z>Z$hkdRw)gmw&FwMCnFwu_L zyRo~9i6egEQzSS|Y{V`mCKwF{4H5WUVl^aBeypdX2pe~~uL5DZp2E(i6HwzUhLBR9 z%A*D~v`+(0U?#z=rGf}5uQ_dJv)=sJ+I+Xu+TOPiNNO0!G7kmpe#LcrQ<_1-kL zojs==MNq9mqxp8L+v-Jbp1?@+ee#XcjlL98nAZgI3yZs$s-vz2u(8;grcJGtE<%+6 z-;tUJ$~)$+&D78r9yLNq+t;e^@!<>G8tV*r?h=??XrDFGHCo7n)u_>OTS%U4uScQ2FmPcv>`dLp$-7XMC~<-d9V&oixVmx3!37wN zb_xY3#&!&>*p5Rfwi9qMwq=-%?G#L-or4*~#du;5q)2gXKT6Gyk*z diff --git a/bin/code/ATMCaseStudy.class b/bin/code/ATMCaseStudy.class index 181f556e03d97efda7e5ac8caf05630f05b9822a..387aa76e43c89e02d1fa95ac46e0f12af84af5eb 100644 GIT binary patch delta 270 zcmZ3@a)+7g)W2Q(7#JAL8Du7MIdgF_Ff(xSFt9SPO?;mc#?Bzf$iR`DpOUKY7~;#t zAi%&0B1Cu?L>br^8JLSo^B5Ue5{uG{85xA5eX+JQ3?>FHAjt+6WMkk4vUwm1fHW_V$H~CQ zzz-B*2eLhZs+oW^?`{Tx$n6Y5KHA$Dgb{}D0X@M0G=c-D6{Hztm>5I@kQN8>ID~*+ Slwgnqn#af>1r%UnkOly}K_tll delta 349 zcmaivJx;?w5QX0+fbGQ)5(q!tVhVnmG*m%Uh>ngwQ7-F|W3au}W)0V09cl^*F{p{uNS=$v&SW(DZ9 zax}EXh*D*2S?7iJxvf;~>}5e^U&-iXKq@6uXva*g&9%-*C5cKc4OL~mDz!HQn<173*8jcezAgGUyJ$l2hw>TW xMMpj&e&y6ai*;tQ5m;a!e^F?o!zscdmUt4d-}%+h{i7k6G&GnMSYd5o^%IOCPDB6z diff --git a/bin/code/Account.class b/bin/code/Account.class index 16191e5fcc3ca7eee710ca413988436ef3f23205..5bebfe7fd962202a6dbea3a7cdffa8b0e9fc72d7 100644 GIT binary patch literal 1156 zcmZvbT~8BH5Qg8=Zd=-JKcFn%ejsYwRaq`nE+i%jF=+xQfsp9k>2^~VmzI<**ZvfL z0Esc7G4aA5;EyuC=j^&^g*54zGiT!W;~N z>Z!bxP9S?-=Y9Lsb3=iWjNbQ$XKimFAX)3ltJRk zZuvbwd@Yb`v|2km&0_&$n{^9Fqhg|nDtV3OaUKFQCNjt>Yt}?AvgS-oA+LN3CJM+4 zRCfKI7qxSwsxxo5@55tUOZ-63BGCw(?gMZgMMRaW93#{&3)W?|dbS8HcQ^onn;&rn!3qDWx&3lu}rq z)K{NWmuHTVMVS0A@%DvTIi5@Q50vfY5vJ{x5o&gG1j}B?j4=OQ=Ps%k%`3CUG)Xfk zqsHGX7Gd!Xc+ScyY8fj$m34<1LR)ufrL=XAxvJA8+^3b{`zjv9-5fARMVZU?HELgx zF|N{Ayr)?MtQX}?u|k1tRdX(iPimT2(={LJEKwl%5gx~Qhrz0y4C&T48Y#_TE$A5>&a^Q$Q!$yT2%Adr>%)@- zcn||E1+?m2wJwdOHMX)yvKK_Z>>3W75hbcyk@A^+@9?bt}FZ z5=ijQheBLug>@nm>>+l1@5%4_o|_*(zkCDm9QR!m7%D=4yx!{a}p;xm;f^Mb(* z!m!h69WywusIH3|L+z~I>onDA32O}UU6RU)j%PCRg&vKmhEY24$El`Tqo=;N(i=)Y zk|O3QX~tZ99paIig;-G+K6zQ!1cfOaflAXP5cS%`Bh1OMyKBli++P$x+zHih&qwzh{ zZqQmJ4d~gV)#^!wtGJfMuH(i6pqK{C>`mVR?Yp=vHi;w5(1Nv zqv1<8kY;FmuE5B??b_jiz*??WkKCuGZ&~hM?{X;JPgNPprVOmT{Fy-Fh}as2F{&ep z5rK)i?ON|T?WW~7WYe((GIh_C&YARWb&o$L!Vh*JFw=(}eahz?_bG+$KWH3a=x~6&yKu2v4TLhEF~v#a`lh$LY62~t8^Orw%eloX>1G38k@#HdPcLiWo1Lv*wMLz zguHbfQn_|@ltH1hv8(Dij`S;SCAey?s?c9h8jbK#TUXEqpEOk`*o@V1w#ec|_Y8Wf5G0cAn7^1}u=b7TIfdpS5U05h? zentMsZ1KzDW!UneG*9`QcWXKXe)AQ)j(KRqiIRX z{;esUQc~v}AvR*Hp;29V?fLU%FQ6%@u_Xro_~bUk9>d|kw^T>|*{lm6HTN5TLwMKX wFNigsiv=tyl%nX)%=Z^AFo zl^YT@(VA#9u3VV7)1|+_zhKn!UdK{Rj3$$p_wJl~?z!jQ58q$C1u%vS79s+jZe`IM zoR;OKybNSfE_)WD0v)&IiX1G-^3B0Z#oL}62yBq9Td9?UWr2-1W_8-BM&yKmIpLT6 zU`oJ9XBGsaGi0@4pv{4W4Hnu3oYs^$$l@Rd(*QmVo4E%$iUQ2s>N|b0;UJ}wHw#$l zLLr~eEEo{?J`(@svzhZXO0mrPWpA!_r|4C$$YRM8NX}MVSz3@)U%kU%G`Qtc`KE^O z)_$qpzUc*FFLWeb$o$@((z3_FUhJbW>(E9~-Eu*oJ+$XnR4|rsYt^b(Ugu8yPRy+N zK)Op8c2`b@otWUf9tuL6(YXP+QAiTB15yk$y?JH7z-FmnJHrysC5D;jYjl4mMA>3BFPZ zWGMtH#FT>xg)rT!x9D?ID3{Yxzos3W#EfENfCzaUw8868sVh+Q;*`v z*p3|<&zXc8R++7oWfcFlcx_e@MBNzMY*uC{3V*O9=8=|i}`sl}3@swbr zrCvlIu6YZyhnUsTOC7d##&QIQX}@Uk2L8s?D?P;k!@r)MI>=Viy#}0@}@d> zFv<)=%i&zUp~KQ{jp10RV3N29YsIyKI>w*y(XiYk1Q^!EQVmeESUfByxNLu;n*5V$ z>>pGokqcGLQnT{K)~eEVoLb)mTT7Ybj!m@;!){8mn?Bgc<22EN3;kE-vwt$rkU9U~ J%mr=N`JYa{>nQ*L literal 1032 zcmb7?OK%e~6orpNl1Ya^nwIi@IAN14APd+)d598_B1N!hS_xR)ajeAcWE^>%h<}Cz z672a=h&xF|2Wcqk#$)?le?I4Ue*XIU9l&$k4^R?lDm&J_JxY%I>}~0K;zSJb?nu8XIG&5%p}IY5V+9k9txCSGc~|PZaoFPan8CL zE(z#^#Oc(=OFfp#&gLd2Z)_sx&PK7GJ(c0cXsYE{tC$@3%t;;7M9X$tj;&5*V!fP^ zS5xV^O@E%Vz9NfMlAXVCpSoEokRwEpXuGp7aHNxV_y^+BqgK&3Mn zbU*UN*%eFToLJKy@w+INTIRd@?176T>nZ+Is47m)@SE}ZerB^W)={<&_wB+d{nlho zn|U7(vv|+~zaak|0wq*Xlgn&8OE<=*$sIp6s-9t`W_=k*Q14!Scd3oPhxBrG)Q5bz}GF!P=`X$zR~ z#Z`7W5wM5jG`%}WZnE)hGRo(o@7RM$e0shgUmwQ9G|At^V7dp534n}VU`I-PJ;QzE ztwC`*Nk#ATQ*lVdEDAKP!R& delta 430 zcma)%yH3ME5Jm4Ag@lzuNO*5mwMW!nY4R{bb^LonX{7y;3v-yKiJ^%Fsy^v2f=7KsSS%pa3kl0u0XzC9 MqFIPorC1MZpUI_EyZ`_I diff --git a/bin/code/Deposit.class b/bin/code/Deposit.class index 423f0a7e843334b03bbafcc19ac051577a2b1b0d..5fc8a48f5fa1d5bcc3d9e895ab2074fb1de89cc2 100644 GIT binary patch literal 2092 zcmah}U2hXd6g`{7v1671CILdAowgKgV;rC#p$Slo9ZC{A1njyE{ea1ONS17Nt=)BK zq`vg2KcS)$&pe_^C6)TnAJCsvsic-T_AUD+|PzaCjGN5^>s`#N!y zrsL5x7k^D6>pPlcs+E=MLVbZ@j73JMdTtO(H*8C%r-lg&jDOj7?eMCBYJM?}(X@P} z-1+!$UAkK}8On7TsN^a^@ZW@mwt7n29lD z4IHT3u3G7BuPeVL*Bzx=PaTEh%GTe^& zy%aQ|%XIuUNY}vOH)s&Yh&5nR`V44pAg#VrRxc#h;e4T;C7UxQ@+dI;h6-N~KbbGQ zA%XTeYodg6OhunQ+yi~<1hBT7F>xLjs9o3hw!7gC&riTqk`5w>nwInf6Df>l@R5OY z*;Plen!$?s3CnXs$+mDeM3$}lNg9{fZ&CZj$xY0G3XgZ}pzFxp zh6)0?LC%x;`a`)RXB_En%rrxv5$3fDv$$g7Dn6y8iA&9M9O?IAj^t~Fb_NypX<1uW zP1JOP-0KN+KV)$OH`Dm6|8fS@H?fE%I@!TO!sL#!l)a<)dML!*4C)4+WY@f&|BCCT z48%J7UHFM@IlFSJwJ;}In@VhZuG$q3dqLP2Np-{{+i`^Jg>(}nYdg9Z1)I!v#3Lnk zly5)S6(QZ@cPzXILb|(5X*piN0G13kdD9WQ8i}>3tgS#;EQ(L^23Abm!YcW(`2T8O zvRKUG4q9n6+2Bz{27AiH=inn8M@VkGRB29`8$(Xl%b^nUH#mqL_8;6fRRJIx!=q4HbST1wQtq)8M!U>{@LPq@#dsP>Mq4qaJ zX>B!RH+s++NCR{ICRJ{z{DB@#B(+^pU07)~Mc(tpc@cUE+`=3?)`CidHIF+seyS!O zXiYQJbkXhh!qIDMdj9DNn6mYSfozlIu+$A(PZ~4ntFrEAyhAfRFGnz>-w}61dRRsO z998^3j(sp`wLiKWr!`+Z4st!joA2qVy(Ws&rE|X_SDYGoj>+Ow>N$@75_wE<&Cv=t z%*aO==O}l_7#DmvkuRokf+t47$taiJy@j`lMehVrYK#+jm&kOa3A{&aDPlN<_hTf+ z5Wnbe_ltWtUFTA46uFk4<6`kwTpa)DF)F3phkN+Aq|bY}T*_VB!*w2x?qT8T$;UWW z$}RKeEZrKh&F!bim2zM3@+rnjxixMyt6^wXOXLM2P7!OCD04(Ljnm|EhBv2)n&Xkb z8IHVJuJgEn3U>`$!YWT~@?Yc4Jyat#iZT8~jTFA(PuC|)%daCfX1RWYZ<+rdGatn8 z3#_JbCyiO-FJw~Gi$gQ1%nyvFRTEl@`q|ulGAF6YJ*;0j@iS86&rbX}fer5&ZDKyh zqiWnFpJmp(!78n?R=3Hu72y+cyqEZf$*hD0C_8GHy^{{ZsN B>V^OS delta 452 zcma)%&q_i;6vn@~lG-F#R;K+OuLZSo(@JO|+{(Ih2h^CY{EqG1}y@ z&Oqmhp}vlW6bhx|v=>R+(}_rpzK$qv3clFxk_bsf(zr}2)vfH1@O=?#>Wf5M5lgGO z!nzoZQd0JJOzDvPCC*X8Mgc`sCZAqq(qyf6jz**gmKZXJM;CbrhT5NH7|O0$oZ2&O z0!nqiXIrrzBz8s#Cie?h<6~ryb-(jxlrBqak0`&o$wSp?7R)KbrqjaAb8KOIw%ft3 j+pIW0B}{WaguOY0>KuZH8ho(epNL=%f}!rtdf5L4)DK-G diff --git a/bin/code/DepositSlot.class b/bin/code/DepositSlot.class index 193d08c8463a34e7a4cd798725c81393ebcf2ea4..c7544c07419177f9b8062315138a067322a62b97 100644 GIT binary patch delta 153 zcmZ3>@{oz^)W2Q(7#JAL8H6TsIdO3@Ff(xSFt9SPO?($OxtP(iM4y2X2pJeywYD>G zYy>ix7`T8W8(5Hyfg8x?fhYjdyg(i!10MrFkYoq4b$~QTGZV`i5Q(Id2T3OrT&Dn7 Gl^_68iw$T1 literal 557 zcmah`O-}+b5Pe0IWko^!zEw_ok&7o$FN!CkiJ*zzN|``)*>1Xp_|Hr<(Yrs&IEy9{ zCGpT{=k@i?o9X+<^DBU3Y!{FdsA$`x`WYoQHNG8LUqGJGdo@<|NX7m7W%r)67g#tl zvGFGYbGv&t0{K&ZS3psq{KIWJXI+3r0lJPIr8XKVX-qH z*&`h($DBmz2h}H8tI3|FRL0iJq4IhlJ=5qhVGq-^%ylgc5n!o=c`OU8@3wx7w7oNN zzmXX&w@geIqhXg^M{#X|YRhUB-6&_W{2R>sfl0Hw-}7iNXwqgprpP9AMVbsZH5tQQ zfDM72e_Is@+jitMotvzFWop{{nP=>P_4reO9G~W~z_GyD0i%NV@CCtbHGD$pZNe#Y h%sAjx;aK`&VFlF*wu&`I{wl1`PzYu!Y_d)cTc4F>ftCOO diff --git a/bin/code/Keypad.class b/bin/code/Keypad.class index e3dc844199028b0cb661aa3a31fa1cb1005ea417..81c90ed91e0205c20987fcc944a2ca54cebf7ab0 100644 GIT binary patch delta 336 zcmZvXyGjF55Qe`K*X+fUo5>ol@mgq_1sjXlS_A}(fFM?jEV7auC2m9u$umfvz}`kt z0}*@xA4;5TKrC!#=AZw<%*cAQysz)kC$PuXgLm5Zm|{j_XXcqoNT)H|M*MJZ@@+> G+x!9b**2{J delta 360 zcmZ3;vWtc5)W2Q(7#J9A8Kft2Mc1=4a5FOSXC;;;>gOcprR%#E73CLkFz_-mq=x1d zr55Msl%=L9B zDJi7nrxq*Z<(DYrCYB^;D3kz|rB)QACYK;9OU_S8RZ`~SV&G!n=V4%H5MX2w)$l>M zB)Fs~GcVm*Gi>4~e{~K92}TA*f-agI%4kz>!obYH2=pP>ZU(MMA)f6FeEWesCI&$u u$p)5TWDo+fc_6A7gc(GDJfQ6iVnC7;$VN3m9E%A8SWS=w>SbbLkOBa17f*ly diff --git a/bin/code/Screen.class b/bin/code/Screen.class index 46ad6ec2e469e028de14f37be9299aa985adf7ec..e2d44256c8b94df88f24ee2e229a14fa9404a4d7 100644 GIT binary patch literal 920 zcmaiyT~E|N6o%i~?QWNDaiLhiZ$XeP;8yX%izP;5i@#PzUCwQ!)#?bcSLt(pKB1EJ@VVFDSr`!&B zG`9Cg$HGe)n!A4Fr%xH`U2Djoyda5&I%ae<&}8Tg{7AgY!jVYc@KGQbj6v-2V8|0+ z?#n|ZeeX{gW(QMO_8G1m`jeA@pY4gsgpWyVb_W+8+%)l{ao-xwU>*x9jEY0|Y?6vl z$5oi*F3!lTS&04Eeoe}h^n!FEy)otr|fF42f>nU~jFKv7`r7d2!U*f6_p=W9G(l2uuG&jx? zPrUTyB&Z71=M(&CqSVu8V8Ch?QB{Zt&Po3XnmlM8Z?UXw~TFydXYfuEbV9z z(4i>B&nUY_YwIKCw$8D5q1W>BHf8BKW3k998Kl4s+$0Lat$)#OU#86y&G-*(1*@gE vJ<65^o8-;7r+h{IpuX`L>+U(W-d;v8(PS=9q0Qe$P3q9Y+~^~M)v)suDnYV_ literal 714 zcmb7BO-~y!5Pc2{8#Z5%6#8{BIi(kJ;lxL!s+3b`51~jsI^I!Yx@)hz8`SCb9Pvfr1fqf%N|$y`->CM%}Vmx4Vk(}LlClAw-O6YFRT>N(} zzdCjV_Wn5=_jp_vJP7pe!Bdy<)NgV(x4hVBa2k9jV>kDj&P=e_Sp3C)m^4!7=9SfKkDB@(uM*-Q)(%JI-q8a10#q+2Yt-u&|BpZ>)zlBYzZXj4c$NtWbzo dD(wD;LTjbMQ#@Pp5T^UPhu%ts=Uh|6i(jf}ka_?B diff --git a/bin/code/Transaction.class b/bin/code/Transaction.class index ea940013bb58141f218f253dbd6d34b8ac2f5dac..5967fde4d12f00f1036a1d6daf0888e1244783b4 100644 GIT binary patch delta 464 zcmZvX%}&BV6ot!p>aQu2@9nrrCsw3raPa(g(fs6 zE_?vjK7!9-ylq*SVkWtB=4QTg&wVORt*z6j8L$Pt{se|ciQhi1g?J>413aJ(1ky|?t4DI6!o52ezUYaO zWUvO(&j2*58-BB!@I<*9-$Oy3GS&DS%Dff9=6ewwz8|6fN__?MR2!5EDA7-gve+o2 z3WrXUx;*8vfJJ(d6I#$HcC40AB!^fnBVL!GjTNdT>K)R}#w1ief&EM(ot3i9#M?}K q)TuYaD%SqeQ`mXQ!0mtGb!^PQ#}m}EbZ3^%GjwQm5Wkts+WG~VwKc^6 literal 922 zcma)5O>Y`85Pc?ug$)UmB>hM~VrU}4C0u%H+DiSDkWhPoM(WX+5p1&9$ZMkfvr4Vh z-ut7f&MuL%v`Eci$2&96&+}&NU%$Wo0PqsW0SW?jZO7CdI%N{2ePm65B1g~FrRv7Y zOuC;&=cK*Bw$j=zjQ_ZpjmQazovGbpV165_f()dQs&~F@@k|K64+g)-{gV} zD!qtI!snYJi$R?WVl<&RJK+9Rd1m93?isq_Na?HjiSJ>XCD2 zM={Nw%dj$>k{pwcm1E3Y=?gU>*=otLr9>L* zPOpqd0?q#l6{zt3^);-k=O7$cD^*~U(xuPVfWdV z7z6(9vQ6=f!ady2Vh?bTW5{wD!^1TUdutgU#9xtcg~p<|*3( Gj{X21SIA%h diff --git a/bin/code/Withdrawal.class b/bin/code/Withdrawal.class index ca804f143e5e8a4ee14ff11bdf04a789e184cddc..3f56e38bcd94ce0f57c6f0943076d56cbf9af98a 100644 GIT binary patch literal 2584 zcma)7{ZAWZ9RD1&z0%#Fl$Q;0?$kM3gaR953QPxu&2B)qft|34dwM0FL68 ziYf(lMlo-8p10ijd`YZ`f{K8GsK=Zv3EL5dYZYw;A+cC2+pYp7O=7`ZT@rZ(yGK3A z(;nGR+7QnCu;nb7wquqQH2U9D+qo1Arv}GUBcmh3)JPR=#}&4l6@{`{&B#KuKVaFG z`=)}Cc-prxVU$eM?)QlyVJ{2|SLB3aR#=q?p5-o)RS-xq%Lu9w(@={B1qc4ya3Wg+ z1x*@Mgyn0Gh8jeO*r;WjVfef*Rp2`blo0TFIFn`E7g73L2gPgm1$Kf+eKR4%ii_<`vT@y9~HGp2$X+ z(m@TcB2EW$rn}QYQ#|nu7gDE9!)s`#GwN&vT(==z30cY|HFTnjEs$qB6vXP7X_qsz zgI*UA7lx3Qs2psbDk3JnbEzXgH2R1ud2{QJ$T(49m1#DX?kFH!>|lNNE_xh=O3= z%vl_SU_3o6VLXPD8r}xSLX)Y=&X*>9&1@K_6|_dq6iha&?urFdUoDnPx5qU_y5mMWJApbbrp1VZ6if+i7mLZ08+m#mhkW z4g7yhohQVRlq^bt!RqeTVo4^GPi+lu6=hoX??%|0u|E@5y_?u(>05M9|^sufWCbXn{r4Ijwb*6yrr1P;n7*jRoa_=Bur zSuEnC|G&jF$<=*pOgAzX;l|@K{>k(BE=fGRnmd{xO!=-u3dyr07^@>vs)x0}*T z3UxfAym0E zMJssT^Ce&V@B(9zul>-y7#kUF*t67#ml#`+F}#ceek98Gl}PSX545e}mA(MaL|?Ft zSI1*?xBZOnXy`s>TI7erYv@f&)}8p*_i&uAW=XAK;4b36g!gp~LtEcY1O{4yu~Tap zeTe;ho%3Ezd`)_;F7FkL<0{VLBb>u+OyUz{ zw}E@70&W#P#=DpzSP9Bb;{xNkO$hy07&qxtCxo?F#e0N4NdI6T2iM68sZbQKd`DHX zu#WQxN>=p-r)HhMn*WkgpOT_W{#aD%wLoV--w<3f6?+6C@OtNyUx7xe3+aUo@uBnH=q# F{{Yk>L<;}_ delta 425 zcma)%F;2rk5Jmsml4F(#NC*%JfsI1}RT^lJ5KXuNAm~`uqa^JRNM-|_h}7uoh~h)R=T7@1LQ;`5wv$SAD|;k@K!loxBGH+MWv2Qf zvo#v0q_W>Nr9%qlIY$MnWh`JVe{<{kG3y?bXiVxZBL;VO@7%{WL+j6D^2BN8zIQd* zhYQa>$e&TUtS&!d<<(9O>Q+54s|@Q_%QMfhfyOM`MAIfq)=vr3-Vb4`fY2x)I1p%o Qb^nRDC_pd-cCCZ Date: Tue, 21 Nov 2023 16:59:48 +0100 Subject: [PATCH 04/23] Merge .class --- bin/code/ATM.class | Bin 3060 -> 3060 bytes bin/code/ATMCaseStudy.class | Bin 476 -> 476 bytes bin/code/Account.class | Bin 1156 -> 1156 bytes bin/code/BalanceInquiry.class | Bin 1171 -> 1171 bytes bin/code/BankDatabase.class | Bin 1480 -> 1480 bytes bin/code/CashDispenser.class | Bin 687 -> 687 bytes bin/code/Deposit.class | Bin 2092 -> 2092 bytes bin/code/DepositSlot.class | Bin 353 -> 353 bytes bin/code/Keypad.class | Bin 545 -> 545 bytes bin/code/Screen.class | Bin 920 -> 920 bytes bin/code/Transaction.class | Bin 852 -> 852 bytes bin/code/Withdrawal.class | Bin 2584 -> 2584 bytes 12 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/code/ATM.class b/bin/code/ATM.class index a590ce8139811a34c2282655c8c53f4a9f6a8d3d..919b4b270813d3b7ea5acf9c0ff0128ba0f45c42 100644 GIT binary patch delta 17 Zcmew&{zaVQ)W2Q(7#J9AH*&n;1^`L#2TT9} delta 17 Zcmew&{zaVQ)W2Q(7#JALH*&n;1^`LX2Sxw@ diff --git a/bin/code/ATMCaseStudy.class b/bin/code/ATMCaseStudy.class index 387aa76e43c89e02d1fa95ac46e0f12af84af5eb..cff84836b67da0d7286e17e8e64f51dab819d6e6 100644 GIT binary patch delta 17 Zcmcb^e21Ci)W2Q(7#J9AH*#EI1OP-`2GRfk delta 17 Zcmcb^e21Ci)W2Q(7#JALH*#EI1OP-o2Fw5e diff --git a/bin/code/Account.class b/bin/code/Account.class index 5bebfe7fd962202a6dbea3a7cdffa8b0e9fc72d7..af774cd29ab2281d070342806723560e28212752 100644 GIT binary patch delta 17 YcmZqSY~kcM^>5cc1_lP(jT|*B06Am@*#H0l delta 17 YcmZqSY~kcM^>5cc1_lQ6jT|*B069hl(*OVf diff --git a/bin/code/BalanceInquiry.class b/bin/code/BalanceInquiry.class index 5654e4a6870cca2f3b1d1e16efde53962e0acf61..92c33aeb0998632b2e298f438ec8d57f67f2d46f 100644 GIT binary patch delta 17 ZcmbQtIhm8=)W2Q(7#J9AH*$2d0028;1_l5C delta 17 ZcmbQtIhm8=)W2Q(7#JALH*$2d0028g1^@s6 diff --git a/bin/code/BankDatabase.class b/bin/code/BankDatabase.class index f5bd9930b1a3e5214ae1d0203dc80fceda6d5b04..c1ed7eee4f7176d6dd027db49abec85d3c9c08eb 100644 GIT binary patch delta 17 ZcmX@XeS(|g)W2Q(7#J9AH*y?c1pq>+2C4u6 delta 17 ZcmX@XeS(|g)W2Q(7#JALH*y?c1pq>e2BZK0 diff --git a/bin/code/CashDispenser.class b/bin/code/CashDispenser.class index bc8de91fbaf683669a0db0f157c5b82d897683c6..ff77593e94d7b6a98fc540f55d9fc576bbebf331 100644 GIT binary patch delta 17 ZcmZ3_x}KHe)W2Q(7#J9AH*zdz0suas22cP1 delta 17 ZcmZ3_x}KHe)W2Q(7#JALH*zdz0suaO21)<` diff --git a/bin/code/Deposit.class b/bin/code/Deposit.class index 5fc8a48f5fa1d5bcc3d9e895ab2074fb1de89cc2..0dc2ca1b9c356532ca9a6c96ccb8ddbd065b02ca 100644 GIT binary patch delta 17 ZcmZ1@uttF6)W2Q(7#J9AH*%*n! delta 17 ZcmZ1@uttF6)W2Q(7#JALH*%FDu diff --git a/bin/code/DepositSlot.class b/bin/code/DepositSlot.class index c7544c07419177f9b8062315138a067322a62b97..8c24a547ef0d5cf92b8a12ad22b30af3e417fe7b 100644 GIT binary patch delta 17 ZcmaFJ^pJ_;)W2Q(7#J9AH*!QW0suql244UG delta 17 ZcmaFJ^pJ_;)W2Q(7#JALH*!QW0suqH23Y_A diff --git a/bin/code/Keypad.class b/bin/code/Keypad.class index 81c90ed91e0205c20987fcc944a2ca54cebf7ab0..b90b5c760ceb769fb133f212908f16ddf71cde0e 100644 GIT binary patch delta 17 ZcmZ3;vXF)2)W2Q(7#J9AH*!ca0RTIu1*8A~ delta 17 ZcmZ3;vXF)2)W2Q(7#JALH*!ca0RTIQ1)cx^ diff --git a/bin/code/Screen.class b/bin/code/Screen.class index e2d44256c8b94df88f24ee2e229a14fa9404a4d7..e6934012d1dbaf1ce5b1254828bd2efd440b474a 100644 GIT binary patch delta 17 ZcmbQiK7*a()W2Q(7#J9AH*!p11^_$H1`q%M delta 17 ZcmbQiK7*a()W2Q(7#JALH*!p11^_#;1_}TG diff --git a/bin/code/Transaction.class b/bin/code/Transaction.class index 5967fde4d12f00f1036a1d6daf0888e1244783b4..f5d9f1c46cd74b476b2df0ed5fc9d50ac578c5a3 100644 GIT binary patch delta 17 Zcmcb@c7=`O)W2Q(7#J9AH*)we0{}v)20{P; delta 17 Zcmcb@c7=`O)W2Q(7#JALH*)we0{}vc20Q=& diff --git a/bin/code/Withdrawal.class b/bin/code/Withdrawal.class index 3f56e38bcd94ce0f57c6f0943076d56cbf9af98a..771f3411ec30c4d91e28f28f2be94f6e9675befa 100644 GIT binary patch delta 17 ZcmbOsGDC#p)W2Q(7#J9AH*yGY0RTK)1+f4C delta 17 ZcmbOsGDC#p)W2Q(7#JALH*yGY0RTKc1*-r6 From 8aacc7ea56f9e2c4dd337cb56d1e953112d8a8c3 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 21 Nov 2023 17:04:53 +0100 Subject: [PATCH 05/23] added class Euro --- src/code/Euro.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/code/Euro.java diff --git a/src/code/Euro.java b/src/code/Euro.java new file mode 100644 index 0000000..7cae046 --- /dev/null +++ b/src/code/Euro.java @@ -0,0 +1,49 @@ +package code; + +public class Euro { + + + private long valore; + + public Euro(long euro, long cent) { + if (euro >= 0) { + valore = euro*100 + cent; + } else { + valore = euro*100 - cent; + } + } + + public Euro(double d) { + valore = (long)(d*100); + } + + public long getValore() { + return valore; + } + + public Euro somma(Euro e) { + this.valore = this.valore + e.getValore(); + return this; + } + + public Euro sottrai(Euro e) { + this.valore = this.valore - e.getValore(); + return this; + } + + public boolean ugualeA(Euro e){ + if (valore == e.getValore()) + return true; + else return false; + } + + public boolean minoreDi(Euro e){ + if (valore <= e.getValore()) + return true; + else return false; + } + + public String stampa(){ + return (double)valore/100 +" euro"; + } +} \ No newline at end of file From a9ca2f4fc215abe2a3b55ee78ab6c8ea6b17ce55 Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Tue, 21 Nov 2023 17:30:06 +0100 Subject: [PATCH 06/23] Added new packages and updated files location --- bin/code/ATM.class | Bin 3060 -> 0 bytes bin/code/ATMCaseStudy.class | Bin 476 -> 0 bytes bin/code/Account.class | Bin 1156 -> 0 bytes bin/code/BalanceInquiry.class | Bin 1171 -> 0 bytes bin/code/BankDatabase.class | Bin 1480 -> 0 bytes bin/code/CashDispenser.class | Bin 687 -> 0 bytes bin/code/Deposit.class | Bin 2092 -> 0 bytes bin/code/DepositSlot.class | Bin 353 -> 0 bytes bin/code/Keypad.class | Bin 545 -> 0 bytes bin/code/Screen.class | Bin 920 -> 0 bytes bin/code/Transaction.class | Bin 852 -> 0 bytes bin/code/Withdrawal.class | Bin 2584 -> 0 bytes src/code/{ => Business_Logic}/ATMCaseStudy.java | 2 +- src/code/{ => Business_Logic}/CashDispenser.java | 2 +- src/code/{ => Business_Logic}/DepositSlot.java | 2 +- src/code/{ => Business_Logic}/Keypad.java | 2 +- src/code/{ => Business_Logic}/Transaction.java | 2 +- src/code/{ => Database}/Account.java | 2 +- src/code/{ => Database}/BankDatabase.java | 2 +- src/code/{ => Database}/Euro.java | 3 +-- src/code/{ => GUI}/ATM.java | 2 +- src/code/{ => GUI}/BalanceInquiry.java | 2 +- src/code/{ => GUI}/Deposit.java | 2 +- src/code/{ => GUI}/Screen.java | 2 +- src/code/{ => GUI}/Withdrawal.java | 2 +- 25 files changed, 13 insertions(+), 14 deletions(-) delete mode 100644 bin/code/ATM.class delete mode 100644 bin/code/ATMCaseStudy.class delete mode 100644 bin/code/Account.class delete mode 100644 bin/code/BalanceInquiry.class delete mode 100644 bin/code/BankDatabase.class delete mode 100644 bin/code/CashDispenser.class delete mode 100644 bin/code/Deposit.class delete mode 100644 bin/code/DepositSlot.class delete mode 100644 bin/code/Keypad.class delete mode 100644 bin/code/Screen.class delete mode 100644 bin/code/Transaction.class delete mode 100644 bin/code/Withdrawal.class rename src/code/{ => Business_Logic}/ATMCaseStudy.java (97%) rename src/code/{ => Business_Logic}/CashDispenser.java (98%) rename src/code/{ => Business_Logic}/DepositSlot.java (98%) rename src/code/{ => Business_Logic}/Keypad.java (98%) rename src/code/{ => Business_Logic}/Transaction.java (98%) rename src/code/{ => Database}/Account.java (99%) rename src/code/{ => Database}/BankDatabase.java (99%) rename src/code/{ => Database}/Euro.java (97%) rename src/code/{ => GUI}/ATM.java (99%) rename src/code/{ => GUI}/BalanceInquiry.java (99%) rename src/code/{ => GUI}/Deposit.java (99%) rename src/code/{ => GUI}/Screen.java (98%) rename src/code/{ => GUI}/Withdrawal.java (99%) diff --git a/bin/code/ATM.class b/bin/code/ATM.class deleted file mode 100644 index 919b4b270813d3b7ea5acf9c0ff0128ba0f45c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3060 zcmbVNZF3XX6@JzdNUWCtCLskISOZCHVaqnqP;BGY_yv?mwu59F=Y74p*o&o=vRVPk zOOrM)ElD6DX_Lt>@Jyy3+L>CO2{ZlN>CfmN=!Z_fbdr$g-d&-k)0xcV!|pxz+`IQY z&vVW_`;YIx`5S=q_%eYG4N1FF6ho7RTmo?od#_p7t)Y_Tt_{tvUK6&jVPCx_yve%1 zE?nQSEngHhXwPeS)UJCTeUr9bsk{DMy}T+sE@d?Atl6Fru7=%Nb$VV+$GET|8dZx2 zgbUBADHnFzR&9OSsa1u`Xgoala4PEMw$7rcR%(u)FI9-FE7&yM_Hm1`YPlQJmT#?E zHKAdDu;)U=$xVAMOlBwNrex6*>k_kLXN)d&0JONX#_Z!#+J%N+0^*|^csbD>Apc6&{!xTY%|Bz5RhJtOU4eZ7v z3H+RiRofy`={OT?`h|f#*qgv8Q>`{dwbF4e*md5(K6FvJtmBFx*9B{}M1{Mu727H; zS)L>3p)>BUJ2eUzsL$%6=rOPECNZsHm%c1YcBL$OCE-~E7jcQ_6q){#)yRoj%~}&O zj)uqjvh9k@`<~;jjrA|-l;{})&*CtNS&`CQWbw$woPjyHxW6jAs}-+Y@GQ4x*}lUh zC$Yf#(hKV>3A0hD_nH?gmEvkc^s)-_zGZLZtg51sL|(&jeW4^+N+wHPc=7|!w1Sd1 zT~+g=rlhfGU`f(=}f&e_MC9*a&6s!gKM%BJi)sj5l$u}(;p->;vUmcf}23ORb!Dg0~MKtgt#f}x-XJ= zO~V0w=BDE_k0v{cS!>jMQBJ4RNw8do^_5E9ERv*K@k7BaGoW1)CAK3bFl`nh9J|6U z6p8wvF+_YUKV9}Q8Cy26edUmIzIAL84PG`qN55I77^6wN!2%jF2hAl%+%U@xbJb#F zv`OPF9&m~a%Z|TZ^sF1E>|RN{P4{WK!&_!vt-D2*+izI$XXuu(^(5Yykn=;4c{gKfvcdCxgeQDTG#ba*)HaT$Vq55yuj8qEcw%K6 zPi>)(W{T#(76xe!(Hz;rDVk?!KD~vrG|$l-+rs!?6s8HjpX3h#cpPyYq;-f)x@q;` z1S1bI@+gjC1}1*VT}FTazrrME8ZJCQ_deB;=tefNH}zNabxk!flWHQvN$*$p|3xz! z0WEjTbI0cWfAXUk+Ccg_JIO!;l(L_&h6rbv;YZjBPa#dXZ6G5dkmq=I?lV4CAaJfqN?0j?1JKAgp>O8hah zvuSleGUE6hCNxdX`OgVi{fDzSR~NNx?EEH0ZK61F_-lGVG%_ht3ovQzXCQUBiM8y> zCN?&4ND-=%P@LZf^gPabzPjIRQ=BC+V1dCd^SDJ;{uL(W1=1@r6*g0Gl@!z;vdpSlu3M&IgO5ZfeFymr^O?Vg_f`n< zxCF{)d>bF+HZgGzw;pnHX^_vUZG6P#qxW#<|1F>0#;3V~KdTt>;soXRF4=s*dwYwQ zyPp64(f)p&WN*tPTIVw3DHp z2~>kWjhi%`NF52(>i5AqKs$+bG-x)u4k`lfx6VTuSyMLi*fIf9@tj&)#slO3j{|2& zhKjQact7pg)oV}Zai}h}30?WUixZOqhoCuk23S0CSXPJ3CkkTvXaVm z`PBzvfh>z6O1v@RE1Frv!Yj&m3-0Rp8P&B(aoI5kmr^4(X0?@oxJ~9V$qsgDC$L9u GVgD2Nomh?l diff --git a/bin/code/Account.class b/bin/code/Account.class deleted file mode 100644 index af774cd29ab2281d070342806723560e28212752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1156 zcmZvbT~8BH5Qg8=Zd=-2T1r{I{Xo=qS7o{I<3co1h)I)z5(tUjoo+W}v9zRYx%Q{{ z14xVsjfofj0DqM6J!jXZ71E?<&YYQNX5PvE{`2z}fLGYeAthk>y;k78@%`SQ8|7dK z%$&#z>2+kc?Y(cF1b!qiE#vpS!D%z-3y8Wv`Yh}+n6Y6;Hao#v$rL}};|{4&FOr>+ zE4vkT!|1g@u2!$_>^MgP#y0B~kVeUZi5c>0&QTr$vlcSQDr?R{F1F?^Od+p)ixvvV z3zQmRH;CIgRMnZ+==rj9B>SPdCr%?e4$lROjqxd8vhC7N ziQdDBq09@}30pFXvy58Z`NRPS=Rsd%rVk?Nf8Ld6Nh_6h5M9S|YRXmO+ax^e_k&hQ z>5ZC}D=Sacf&??ISND~(Sr+NFrtQ^l}_XmpZ$`ECDb%=`V3}L&AnIRUw>)a(3qj^QvD3dgc zA}ajNVF@$>KBoh1qcKfuET?=e`llOf&yMkA%UagXbo zr*vUJ!V{?8n7r_RvU6i{4Ng*dn@H8X>3+PzLe-zpwV-G4IMe3XOy+1N6E2nF*M~)w(pA*4WBo$(|AYoQrxfhPOv}dxU?CCrQ7aE*C3RRvQ>sYU{>fH*}Qu E7Yi4w0RR91 diff --git a/bin/code/BalanceInquiry.class b/bin/code/BalanceInquiry.class deleted file mode 100644 index 92c33aeb0998632b2e298f438ec8d57f67f2d46f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1171 zcmZuwT~pIg5Iq-KT0;10`BFdvg0`hlKMqK{C>`mVR?Yp=vHi;w5&{#E zqv1<8kY;FmuE5Zq?b_jiz-q2mkKCuGZ&~hc?{X;JPgNPprVOmz{Fy-Fh}aqiF{~qr zA%XF_?ON|T?WW~7WYe((GIh_C&YARWb&o$L!Vh*JFntBv&uv#=vJ+T-#WcN+8}`5i zL``5=hV339fzccMSed?ler)^-y^pj&%KB=Vosi51bNMq30<${iaEAyjE4+y?oy-3R zL*>ltSim9~G3ScW_*HZ~GZnX_!@x3U&A3|)v3yO#eXOOh%9dl5uDR-XfQRftWnM_z zQR9nMr>BJ#v6ggilz8N+5z2~>3Qn{>Q6OU3T35@hftm84B zP_A=3`0U8b6DtU0%TjU@Cs+R{FJy@_wMwUW03z6FhGkN&NIbZ0|~xBx-ehd z_>T0qC_>|@F%r-jHHr~hgh($ diff --git a/bin/code/BankDatabase.class b/bin/code/BankDatabase.class deleted file mode 100644 index c1ed7eee4f7176d6dd027db49abec85d3c9c08eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcma)4O-~b16g{ug&e&n7P@xKn-ydz|Lr}pFzzX%FifDq8sH@juqJyfy$QcS zS8hzyL`$NPxN>3QPM7`y|AJA^dmT$PF`7(X-n(<|x#ymHKYV|^24DggEkp!5-O7SD zG$qS-@-mP`x#U@h3Un;WWjR!mM&zV`IqsMJ zU{b(HXXXW>(`2<_pv{4W4Hnu3oYs^$$l@Rd(*QmVo4JQMiUQ2s$~%3r;UJ}wHw#$l zLLr~e%o`B*KNA1tvzhZXO0mrNWpB22x9C-`%3{eANX}GTS(=wsU%kU%G`Q_k`KE^O z)_$qpzU2jBFLWeb$o$@((z3_FUhJbW>(E9~-Eu*oJ+$XnR4|rsYt^b(Ugu8yPRy*i zK)QD>$$MI+1(OwIEx64j-<5%PZON+&#Ara~hRtq=9PGp{C1}{e2o4LhEz6R>K3BFnh zWGMtH#H539g)rT!x8QSAD3{Yxzos0V!n9&zfCzb4ZIFNUw8=HO0=>84ap+#4Z}Z@$-zR&Ed`Bo%_Wz&et-OMZkD=6?QiE7S1aqvM-S^-oUxu zdFXhuqYIr~*tCl7ITeqpcydd!rwhIORQLt+BiP0>#Tq~xqG+ea1joM-C((gEMx90- zY{w3b=S)HkE6i5PGK&BDiP+j`)R=sN?w(lR$ff=|c5i)zSpV|}hUn{#KK}7lJSW&_ zDVRbRdid@oc?t(uP8Hm#8_$FVNss;fCy2F?<|~3MQQa_pP^C#*=&`VH5J*G_>&HN- zFCa8ZXfnICj=|Z1_lOT{tK-m9<7rb!QX}@Uk2L8s?D?P;k!@r)MI>=Viy#}0@}@d> zFv<)=%i&zUp~KQ{jp10RV1l>^YsIyKI*vc%qhYy82r#URr5d1Sv3OWaaM}JwHSs6a z*gvRFAs4Eep=RZatyQJ#IK93Jww5x%9h+!PSOUujzd}~Ersq%7UTg+D^)>AmO?6#5D7MD;!N8qu3h}o_hH`+ zQY$1DJOIzrB|@CBtqKI2@!YF9=R5bxKYo4t4qzYKEi4Ii!(^cbLz$hv)Y*lKGnKYr z3v|xpr5r>uJ{cU%&s3NTxWPD>28W{$!=tz3selOB8zym<%Q&COs8ALlZUq`)Qp6NA zU+7rp2LjgavzdTBB&rPys}9<@w*pcete`32jdZNW#ra&NQ#p?mbB&TvMl+deQ`b#9 zKh>E)Z}e~IJppG?Phh4YZZ|O0raZ6GxN{vv*&Fq#(5YGoZ0KxK93SgYt2j53!%L~7 zif**;Io%|e;m6nVqUN_JNs)%?l`a$hwY2AEU)bSHTmqKx2n{q@waRLl9S+L7#U6*} z>99IrU-0YnzryYN;`RpKmr~*LTrIs^*zl<6ple=M?{ObJRsw5Suf1k`ZP=a7PA}T; zzq^LFwfK+U8k4Ql@j>bLw9?dmRI_h#H%NTQo5{DqX{x*@tPR7j7zXhf4g1QvV$*^N n-DO;0iw4_p@r0nAKS2H+$iD+QHE5GMqJP5UzeNYL#>c+_v6FOh diff --git a/bin/code/Deposit.class b/bin/code/Deposit.class deleted file mode 100644 index 0dc2ca1b9c356532ca9a6c96ccb8ddbd065b02ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2092 zcmah}U2hXd6g`{7v1671CILdAowgKgV;rC#p$Slo9ZC{A1njyE{ea1ONS17Nt=)BK zq`vg2KcS)$&pe_^C6)TnAJCsvsi!_KU>Ux14rZHmRV06>+r5i{qv_03rsND8?ZfL-$@vxkTh_1qwoZrGMiPYn|m82_^E+Tm3L)%;={qiOj{ zx%2Vix^%Z{GL-8wP{~z-;J*nAZ381!63k*4hfN&7gn?84AGXjQBakB|(#YuDF%x6R z8aPn5UA5BNURQogt~*Mz^epMLrElwVayb%i+JS-b*8q|Ipy31DqEW8yq6P`j@0ZFj>Po}YlJBppN$H7)4}CQ=y9;3EU) zva60_HHGa`pHN7VG?Gy6j&i)N5|-zNl5OE`h%9FDNg9{fZ&CZj$xY0G3XgZ}pzFxp zh6)0?LC%x;`a`)RXB_En%rrxv5$3fDv$$g7Dn6y8iA&9M9O?IAj^t~Fb_NypX<1uW zP1JOP-0KN+KV)$OH`Dm6|8fS@H?fE%I@!TO!sL#!l)a<)dML!*4C)4+WY@f&|BCCT z48%J7UHFM@IlFSJwJ;}In@VhZuG$q3dqLP2Np-{{+i`^Jg>(}nYdg9Z1)I!v#3Lnk zly5)S6(QZ@cPzXILb|(5X*piN0G13kdD9WQ8i}>3tgS#;EQ(L^23Abm!YcW(`2T8O zvRKUG4q9n6+2Bz{27AiH=inn8M@VkGRB29`8$(Xl%b^nUH#mqL_8;6fRRJIx!=q4HbST1wQtq)8M!U>{@LPq@#dsP>Mq4qaJ zX>B!RH+s++NCR{ICRJ{z{DB@#B(+^pU07)~Mc(tpc@cUE+`=3?)`CidHIF+seyS!O zXiYQJbkXhh!qIDMdj9DNn6mYSfozlIu+$A(PZ~4ntFrEAyhAfRFGnz>-w}61dRRsO z998^3j(sp`wLiKWr!`+Z4st!joA2qVy(Ws&rE|X_SDYGoj>+Ow>N$@75_wE<&Cv=t z%*aO==O}l_7#DmvkuRokf+t47$taiJy@j`lMehVrYK#+jm&kOa3A{&aDPlN<_hTf+ z5Wnbe_ltWtUFTA46uFk4<6`kwTpa)DF)F3phkN+Aq|bY}T*_VB!*w2x?qT8T$;UWW z$}RKeEZrKh&F!bim2zM3@+rnjxixMyt6^wXOXLM2P7!OCD04(Ljnm|EhBv2)n&Xkb z8IHVJuJgEn3U>`$!YWT~@?Yc4Jyat#iZT8~jTFA(PuC|)%daCfX1RWYZ<+rdGatn8 z3#_JbCyiO-FJw~Gi$gQ1%nyvFRTEl@`q|ulGAF6YJ*;0j@iS86&rbX}fer5&ZDKyh zqiWnFpJmp(!78n?R=3Hu72y+cyqEZf$*hD0C_8GHy^{{SPq B>WlyY diff --git a/bin/code/DepositSlot.class b/bin/code/DepositSlot.class deleted file mode 100644 index 8c24a547ef0d5cf92b8a12ad22b30af3e417fe7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmZ8c%TB{E5S&fZ211~rf4~h8A|JrxLg7?_L{Sgi9Crn-Ok5>yzKRPcBo2H4AB9*4 z1QnMV&+g3b`s4HM9l#kz2_izS-JFXtFI{8&)HgfW0wQ_IJ%Wj-LYRd6hp*Up>DsAa mXb0R9%)Sl6+oA|N7z&2)k#O)u@pC}@C9}0;^qb5(*X|d03_wr- diff --git a/bin/code/Keypad.class b/bin/code/Keypad.class deleted file mode 100644 index b90b5c760ceb769fb133f212908f16ddf71cde0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545 zcmZut%TB^T6g|VMP|91xCq5Uz!X|D}H%1d;qYDg)%b`qgNGYTgBmd+^qmpRi2l!FO zJB1jGZf5S|oOACzpI>hu0FJS*A;gfh2OVKvh{=$5G(;G(J$}bchr3<#s@)T|&k&XF za7=%}3VLH-I%d=6t}DDcL+nVp(m!DcSE?dBd(2kLAB5|13Glhig8g(xO#=uJ>|h6qJKp*DqHdxvrJg!B|kFDN|*;8l9l zfkcX+8L}sfHL4ji8rHEv8N(*ZbIC*cm1Mm3jM6K%9w-h$>BNG1ae*KI;qL~hy>Dm* BXx;z- diff --git a/bin/code/Screen.class b/bin/code/Screen.class deleted file mode 100644 index e6934012d1dbaf1ce5b1254828bd2efd440b474a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmaiyT~E|N6o%i~?QWNDaiLhiZ$XeP;8yW+(P(VETEwJg4e@HW3~Nb0NVg^7XXynR z6a4}HDC3#7$`&==oas!@`^(*dE(1` zd8nlC{RzYDVCu>~!<9pSauV>fJu#W^F^SFY;KGBOCVn*TTf-U5V?l*cap;~+QW5I7 z3X|N$8JRT;u^-#7Ntu#f@UX983D;CCGc4rn>Tey_(P3zuNCkr${<32H>4b`_8kWUN z{2d*4B}L6CK}1)TiB22@Jb50*nWQUS#~QYITkPUT7KT9EInr|7I`Iu6u5z#L}9q~FWT+Pw0WW#|Dmm5we+?} u*|K1hyczeDuc#l?H$G$CJ;&DD%jhMV%;hPx`P-;T9eS7>eMGPtc76gsr?QLy diff --git a/bin/code/Transaction.class b/bin/code/Transaction.class deleted file mode 100644 index f5d9f1c46cd74b476b2df0ed5fc9d50ac578c5a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmZuw*>2N76g^`*2}#{HOH&GkvNS+q0r>zHiA6}2B6w((_wg_)Zc|&b$5lUy2P!o} z;(-s~qY!88f}9Xpnz`G#_nbTOuirm@0(gZd4LAaAm3-FYqg2M3R3=K|20TVjEuS~zK z1X)yn8O4!#Eif1!EZ|pEkER0NJ5p`I#ioxnv<2MZXxfB8*GCO?Yi;>x;D)ufeKgS$ z*qlVME;%2`a7HrSNuuOzD$~gN*Fn#Gi87m8UI%%0@=T|17S%VUIV;t21nsIcuJ2fz zB>=f{VNE9f!G@y+)ojGiyprnMuQTMTewY+ov_QfqOk68vQt=hIooA)5BIJok9pgwT5yHVR~ioNs1mwU uw6-KI;j*>BeOP&xb`{+Fwglc=34VzE72y6dc0FL37 ziYf(lMlo-8p10ijd`YZ`f{K8GsK=Zv3EL5dYZYw;A+cC2+pYp7O=7`ZT@rZ(yGK3A z(;nGR+7QnCu;nb7wquqQH2U9D+qo1Arv}GUBcmh3)JPR=#}&4l6@{`{&B#KuKVaFG z`=)}Cc-prxVU$eM?)QlyVJ{2|SLB3aR#=q?p5-o)RS-xq%Lu9w(@={B1qc4ya3Wg+ z1x*@Mgyn0Gh8jeO*r;WjVfef*Rp2`blo0TFIFn`E7g73L2gPgm1$Kf+eKR4%ii_<`vT@y9~HGp2$X+ z(m@TcB2EW$rn}QYQ#|nu7gDE9!)s`#GwN&vT(==z30cY|HFTnjEs$qB6vXP7X_qsz zgI*UA7lx3Qs2|lNNE_xh=O3= z%vl_SU_3o6VLXPD8r}xSLX)Y=&X*>9&1@K_6|_dq6iha&?urFdUoDnPx5qU_y5mMWJApbbrp1VZ6if+i7mLZ08+m#mhkW z4g7yhohQVRlq^bt!RqeTVo4^GPi+lu6=hoX??%|0u|E@5y_?u(>05M9|^sufWCbXn{r4Ijwb*6yrr1P;n7*jRoa_=Bur zSuEnC|G&jF$<=*pOgAzX;l|@K{>k(BE=fGRnmd{xO!=-u3dyr07^@>vs)x0}*T z3UxfAym0E zMJssT^Ce&V@B(9zul>-y7#kUF*t67#ml#`+F}#ceek98Gl}PSX545e}mA(MaL|?Ft zSI1*?xBZOnXy`s>TI7erYv@f&)}8p*_i&uAW=XAK;4b36g!gp~LtEcY1O{4yu~Tap zeTe;ho%3Ezd`)_;F7FkL<0{VLBb>u+OyUz{ zw}E@70&W#P#=DpzSP9Bb;{xNkO$hy07&qxtCxo?F#e0N4NdI6T2iM68sZbQKd`DHX zu#WQxN>=p-r)HhMn*WkgpOT_W{#aD%wLoV--w<3f6?+6C@OtNyUx7xe3+aUo@uBnH=q# F{{Rq{L=gZ0 diff --git a/src/code/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java similarity index 97% rename from src/code/ATMCaseStudy.java rename to src/code/Business_Logic/ATMCaseStudy.java index 589fbef..b4e65e7 100644 --- a/src/code/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -1,7 +1,7 @@ // ATMCaseStudy.java // Driver program for the ATM case study -package code; +package code.Business_Logic; public class ATMCaseStudy { diff --git a/src/code/CashDispenser.java b/src/code/Business_Logic/CashDispenser.java similarity index 98% rename from src/code/CashDispenser.java rename to src/code/Business_Logic/CashDispenser.java index fd610dd..468e118 100644 --- a/src/code/CashDispenser.java +++ b/src/code/Business_Logic/CashDispenser.java @@ -1,7 +1,7 @@ // CashDispenser.java // Represents the cash dispenser of the ATM -package code; +package code.Business_Logic; public class CashDispenser { diff --git a/src/code/DepositSlot.java b/src/code/Business_Logic/DepositSlot.java similarity index 98% rename from src/code/DepositSlot.java rename to src/code/Business_Logic/DepositSlot.java index 8d705f3..4667f70 100644 --- a/src/code/DepositSlot.java +++ b/src/code/Business_Logic/DepositSlot.java @@ -1,7 +1,7 @@ // DepositSlot.java // Represents the deposit slot of the ATM -package code; +package code.Business_Logic; public class DepositSlot { diff --git a/src/code/Keypad.java b/src/code/Business_Logic/Keypad.java similarity index 98% rename from src/code/Keypad.java rename to src/code/Business_Logic/Keypad.java index 7db0ed1..76ebea1 100644 --- a/src/code/Keypad.java +++ b/src/code/Business_Logic/Keypad.java @@ -1,7 +1,7 @@ // Keypad.java // Represents the keypad of the ATM -package code; +package code.Business_Logic; import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/code/Transaction.java b/src/code/Business_Logic/Transaction.java similarity index 98% rename from src/code/Transaction.java rename to src/code/Business_Logic/Transaction.java index bebbc62..154764c 100644 --- a/src/code/Transaction.java +++ b/src/code/Business_Logic/Transaction.java @@ -1,7 +1,7 @@ // Transaction.java // Abstract superclass Transaction represents an ATM transaction -package code; +package code.Business_Logic; public abstract class Transaction { diff --git a/src/code/Account.java b/src/code/Database/Account.java similarity index 99% rename from src/code/Account.java rename to src/code/Database/Account.java index 2cd29ed..2d685a8 100644 --- a/src/code/Account.java +++ b/src/code/Database/Account.java @@ -1,7 +1,7 @@ // Account.java // Represents a bank account -package code; +package code.Database; public class Account { diff --git a/src/code/BankDatabase.java b/src/code/Database/BankDatabase.java similarity index 99% rename from src/code/BankDatabase.java rename to src/code/Database/BankDatabase.java index b17cbc2..24ff527 100644 --- a/src/code/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,7 +1,7 @@ // BankDatabase.java // Represents the bank account information database -package code; +package code.Database; public class BankDatabase { diff --git a/src/code/Euro.java b/src/code/Database/Euro.java similarity index 97% rename from src/code/Euro.java rename to src/code/Database/Euro.java index 7cae046..33202f4 100644 --- a/src/code/Euro.java +++ b/src/code/Database/Euro.java @@ -1,8 +1,7 @@ -package code; +package code.Database; public class Euro { - private long valore; public Euro(long euro, long cent) { diff --git a/src/code/ATM.java b/src/code/GUI/ATM.java similarity index 99% rename from src/code/ATM.java rename to src/code/GUI/ATM.java index 7e0084c..06d837f 100644 --- a/src/code/ATM.java +++ b/src/code/GUI/ATM.java @@ -1,7 +1,7 @@ // ATM.java // Represents an automated teller machine -package code; +package code.GUI; public class ATM { diff --git a/src/code/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java similarity index 99% rename from src/code/BalanceInquiry.java rename to src/code/GUI/BalanceInquiry.java index 994eef2..154af28 100644 --- a/src/code/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -1,7 +1,7 @@ // BalanceInquiry.java // Represents a balance inquiry ATM transaction -package code; +package code.GUI; public class BalanceInquiry extends Transaction { diff --git a/src/code/Deposit.java b/src/code/GUI/Deposit.java similarity index 99% rename from src/code/Deposit.java rename to src/code/GUI/Deposit.java index 81a74aa..fce5e51 100644 --- a/src/code/Deposit.java +++ b/src/code/GUI/Deposit.java @@ -1,7 +1,7 @@ // Deposit.java // Represents a deposit ATM transaction -package code; +package code.GUI; public class Deposit extends Transaction { diff --git a/src/code/Screen.java b/src/code/GUI/Screen.java similarity index 98% rename from src/code/Screen.java rename to src/code/GUI/Screen.java index a7afb0c..af5576a 100644 --- a/src/code/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,7 +1,7 @@ // Screen.java // Represents the screen of the ATM -package code; +package code.GUI; public class Screen { diff --git a/src/code/Withdrawal.java b/src/code/GUI/Withdrawal.java similarity index 99% rename from src/code/Withdrawal.java rename to src/code/GUI/Withdrawal.java index 9217a4c..0e17bd1 100644 --- a/src/code/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -1,7 +1,7 @@ // Withdrawal.java // Represents a withdrawal ATM transaction -package code; +package code.GUI; public class Withdrawal extends Transaction { From 833627a9e028d827da8265312636f3be415109d2 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 21 Nov 2023 17:42:52 +0100 Subject: [PATCH 07/23] fixed some errors imported correct packages --- src/code/Business_Logic/ATMCaseStudy.java | 2 ++ src/code/Business_Logic/Transaction.java | 3 +++ src/code/GUI/ATM.java | 3 +++ src/code/GUI/BalanceInquiry.java | 3 +++ src/code/GUI/Deposit.java | 3 +++ src/code/GUI/Withdrawal.java | 3 +++ 6 files changed, 17 insertions(+) diff --git a/src/code/Business_Logic/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java index b4e65e7..5182aac 100644 --- a/src/code/Business_Logic/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -3,6 +3,8 @@ package code.Business_Logic; +import code.GUI.ATM; + public class ATMCaseStudy { // main method creates and runs the ATM diff --git a/src/code/Business_Logic/Transaction.java b/src/code/Business_Logic/Transaction.java index 154764c..d7e6bc5 100644 --- a/src/code/Business_Logic/Transaction.java +++ b/src/code/Business_Logic/Transaction.java @@ -3,6 +3,9 @@ package code.Business_Logic; +import code.GUI.Screen; +import code.Database.BankDatabase; + public abstract class Transaction { private int accountNumber; // indicates account involved diff --git a/src/code/GUI/ATM.java b/src/code/GUI/ATM.java index 06d837f..1ea83b6 100644 --- a/src/code/GUI/ATM.java +++ b/src/code/GUI/ATM.java @@ -3,6 +3,9 @@ package code.GUI; +import code.Business_Logic.*; +import code.Database.*; + public class ATM { private boolean userAuthenticated; // whether user is authenticated diff --git a/src/code/GUI/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java index 154af28..5af3d06 100644 --- a/src/code/GUI/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -3,6 +3,9 @@ package code.GUI; +import code.Business_Logic.*; +import code.Database.*; + public class BalanceInquiry extends Transaction { // BalanceInquiry constructor diff --git a/src/code/GUI/Deposit.java b/src/code/GUI/Deposit.java index fce5e51..9e080fb 100644 --- a/src/code/GUI/Deposit.java +++ b/src/code/GUI/Deposit.java @@ -3,6 +3,9 @@ package code.GUI; +import code.Business_Logic.*; +import code.Database.*; + public class Deposit extends Transaction { private double amount; // amount to deposit diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index 0e17bd1..72917ca 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -3,6 +3,9 @@ package code.GUI; +import code.Business_Logic.*; +import code.Database.*; + public class Withdrawal extends Transaction { private int amount; // amount to withdraw From 05f1a92ec0b9263f8f3495f7a66ddb413069883b Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 21 Nov 2023 18:17:19 +0100 Subject: [PATCH 08/23] from double to euro not working yet --- src/code/Database/Account.java | 20 ++++++++++---------- src/code/Database/BankDatabase.java | 17 +++++++++++------ src/code/GUI/BalanceInquiry.java | 4 ++-- src/code/GUI/Deposit.java | 6 +++--- src/code/GUI/Screen.java | 6 ++++-- src/code/GUI/Withdrawal.java | 14 +++++++------- 6 files changed, 37 insertions(+), 30 deletions(-) diff --git a/src/code/Database/Account.java b/src/code/Database/Account.java index 2d685a8..82532da 100644 --- a/src/code/Database/Account.java +++ b/src/code/Database/Account.java @@ -7,12 +7,12 @@ public class Account { private int accountNumber; // account number private int pin; // PIN for authentication - private double availableBalance; // funds available for withdrawal - private double totalBalance; // funds available + pending deposits + private Euro availableBalance; // funds available for withdrawal + private Euro totalBalance; // funds available + pending deposits // Account constructor initializes attributes public Account( int theAccountNumber, int thePIN, - double theAvailableBalance, double theTotalBalance ) + Euro theAvailableBalance, Euro theTotalBalance ) { accountNumber = theAccountNumber; pin = thePIN; @@ -30,28 +30,28 @@ public boolean validatePIN( int userPIN ) } // end method validatePIN // returns available balance - public double getAvailableBalance() + public Euro getAvailableBalance() { return availableBalance; } // end getAvailableBalance // returns the total balance - public double getTotalBalance() + public Euro getTotalBalance() { return totalBalance; } // end method getTotalBalance // credits an amount to the account - public void credit( double amount ) + public void credit( Euro amount ) { - totalBalance += amount; // add to total balance + totalBalance.somma(amount); // add to total balance } // end method credit // debits an amount from the account - public void debit( double amount ) + public void debit( Euro amount ) { - availableBalance -= amount; // subtract from available balance - totalBalance -= amount; // subtract from total balance + availableBalance.sottrai(amount); // subtract from available balance + totalBalance.sottrai(amount); // subtract from total balance } // end method debit // returns account number diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index 24ff527..460b1b8 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -10,9 +10,14 @@ public class BankDatabase // no-argument BankDatabase constructor initializes accounts public BankDatabase() { + Euro availableBalance1 = new Euro(1000); + Euro totalBalance1 = new Euro(1200); + Euro availableBalance2 = new Euro(200); + Euro totalBalance2 = new Euro(200); + accounts = new Account[ 2 ]; // just 2 accounts for testing - accounts[ 0 ] = new Account( 12345, 54321, 1000.0, 1200.0 ); - accounts[ 1 ] = new Account( 98765, 56789, 200.0, 200.0 ); + accounts[ 0 ] = new Account( 12345, 54321, availableBalance1, totalBalance1 ); + accounts[ 1 ] = new Account( 98765, 56789, availableBalance2, totalBalance2 ); } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number @@ -44,25 +49,25 @@ public boolean authenticateUser( int userAccountNumber, int userPIN ) } // end method authenticateUser // return available balance of Account with specified account number - public double getAvailableBalance( int userAccountNumber ) + public Euro getAvailableBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getAvailableBalance(); } // end method getAvailableBalance // return total balance of Account with specified account number - public double getTotalBalance( int userAccountNumber ) + public Euro getTotalBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getTotalBalance(); } // end method getTotalBalance // credit an amount to Account with specified account number - public void credit( int userAccountNumber, double amount ) + public void credit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).credit( amount ); } // end method credit // debit an amount from of Account with specified account number - public void debit( int userAccountNumber, double amount ) + public void debit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).debit( amount ); } // end method debit diff --git a/src/code/GUI/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java index 5af3d06..d1cca18 100644 --- a/src/code/GUI/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -23,11 +23,11 @@ public void execute() Screen screen = getScreen(); // get the available balance for the account involved - double availableBalance = + Euro availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // get the total balance for the account involved - double totalBalance = + Euro totalBalance = bankDatabase.getTotalBalance( getAccountNumber() ); // display the balance information on the screen diff --git a/src/code/GUI/Deposit.java b/src/code/GUI/Deposit.java index 9e080fb..8b76f59 100644 --- a/src/code/GUI/Deposit.java +++ b/src/code/GUI/Deposit.java @@ -8,7 +8,7 @@ public class Deposit extends Transaction { - private double amount; // amount to deposit + private Euro amount; // amount to deposit private Keypad keypad; // reference to keypad private DepositSlot depositSlot; // reference to deposit slot private final static int CANCELED = 0; // constant for cancel option @@ -32,10 +32,10 @@ public void execute() BankDatabase bankDatabase = getBankDatabase(); // get reference Screen screen = getScreen(); // get reference - amount = promptForDepositAmount(); // get deposit amount from user + amount = new Euro(promptForDepositAmount()); // check whether user entered a deposit amount or canceled - if ( amount != CANCELED ) + if ( amount.getValore() != CANCELED ) { // request deposit envelope containing specified amount screen.displayMessage( diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index af5576a..ea0ac73 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -3,6 +3,8 @@ package code.GUI; +import code.Database.*; + public class Screen { // displays a message without a carriage return @@ -18,9 +20,9 @@ public void displayMessageLine( String message ) } // end method displayMessageLine // display a dollar amount - public void displayDollarAmount( double amount ) + public void displayDollarAmount( Euro amount ) { - System.out.printf( "$%,.2f", amount ); + System.out.printf( "$%,.2f", amount.stampa() ); } // end method displayDollarAmount } // end class Screen diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index 72917ca..ac2926f 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -8,7 +8,7 @@ public class Withdrawal extends Transaction { - private int amount; // amount to withdraw + private Euro amount; // amount to withdraw private Keypad keypad; // reference to keypad private CashDispenser cashDispenser; // reference to cash dispenser @@ -32,7 +32,7 @@ public Withdrawal( int userAccountNumber, Screen atmScreen, public void execute() { boolean cashDispensed = false; // cash was not dispensed yet - double availableBalance; // amount available for withdrawal + Euro availableBalance; // amount available for withdrawal // get references to bank database and screen BankDatabase bankDatabase = getBankDatabase(); @@ -42,25 +42,25 @@ public void execute() do { // obtain a chosen withdrawal amount from the user - amount = displayMenuOfAmounts(); + amount = new Euro(displayMenuOfAmounts()); // check whether user chose a withdrawal amount or canceled - if ( amount != CANCELED ) + if ( amount.getValore() != CANCELED ) { // get available balance of account involved availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount <= availableBalance ) + if ( amount.getValore() <= availableBalance.getValore() ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( amount ) ) + if ( cashDispenser.isSufficientCashAvailable( (int)amount.getValore() ) ) { // update the account involved to reflect withdrawal bankDatabase.debit( getAccountNumber(), amount ); - cashDispenser.dispenseCash( amount ); // dispense cash + cashDispenser.dispenseCash( (int)amount.getValore() ); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash From d4c5419cf3bed5e8a0863f74d3012d292464f3cb Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Tue, 21 Nov 2023 18:20:13 +0100 Subject: [PATCH 09/23] Fixed a bug in Screen.java --- src/code/GUI/Screen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index ea0ac73..758f4ad 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -22,7 +22,7 @@ public void displayMessageLine( String message ) // display a dollar amount public void displayDollarAmount( Euro amount ) { - System.out.printf( "$%,.2f", amount.stampa() ); + System.out.printf(amount.stampa()); } // end method displayDollarAmount } // end class Screen From 1a841bdf147d0fce07fbc483d8fc7c5234c519d4 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 21 Nov 2023 18:44:20 +0100 Subject: [PATCH 10/23] test push --- src/code/Business_Logic/CashDispenser.java | 2 ++ src/code/GUI/Withdrawal.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/code/Business_Logic/CashDispenser.java b/src/code/Business_Logic/CashDispenser.java index 468e118..b740864 100644 --- a/src/code/Business_Logic/CashDispenser.java +++ b/src/code/Business_Logic/CashDispenser.java @@ -3,6 +3,8 @@ package code.Business_Logic; +import code.Database.*; + public class CashDispenser { // the default initial number of bills in the cash dispenser diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index ac2926f..bfbf42c 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -55,12 +55,12 @@ public void execute() if ( amount.getValore() <= availableBalance.getValore() ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( (int)amount.getValore() ) ) + if ( cashDispenser.isSufficientCashAvailable( (int) amount.getValore() ) ) { // update the account involved to reflect withdrawal bankDatabase.debit( getAccountNumber(), amount ); - cashDispenser.dispenseCash( (int)amount.getValore() ); // dispense cash + cashDispenser.dispenseCash( (int) amount.getValore() ); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash From abcf6c0cdd2f99956d2f9716d58b346f73fe9595 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 21 Nov 2023 19:04:52 +0100 Subject: [PATCH 11/23] finished converting from double to euro all bugs caused by conversion from using double to euro have now been fixed --- src/code/Business_Logic/ATMCaseStudy.java | 2 +- src/code/Business_Logic/CashDispenser.java | 4 ++-- src/code/GUI/Withdrawal.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/code/Business_Logic/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java index 5182aac..8dc6048 100644 --- a/src/code/Business_Logic/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -12,7 +12,7 @@ public static void main( String[] args ) { ATM theATM = new ATM(); theATM.run(); - } // end main + } // end main1 } // end class ATMCaseStudy diff --git a/src/code/Business_Logic/CashDispenser.java b/src/code/Business_Logic/CashDispenser.java index b740864..d2704b6 100644 --- a/src/code/Business_Logic/CashDispenser.java +++ b/src/code/Business_Logic/CashDispenser.java @@ -20,14 +20,14 @@ public CashDispenser() // simulates dispensing of specified amount of cash public void dispenseCash( int amount ) { - int billsRequired = amount / 20; // number of $20 bills required + int billsRequired = amount / 100 / 20; // number of $20 bills required count -= billsRequired; // update the count of bills } // end method dispenseCash // indicates whether cash dispenser can dispense desired amount public boolean isSufficientCashAvailable( int amount ) { - int billsRequired = amount / 20; // number of $20 bills required + int billsRequired = amount / 100 / 20; // number of $20 bills required if ( count >= billsRequired ) return true; // enough bills available diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index bfbf42c..859eb74 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -45,7 +45,7 @@ public void execute() amount = new Euro(displayMenuOfAmounts()); // check whether user chose a withdrawal amount or canceled - if ( amount.getValore() != CANCELED ) + if ( amount.getValore() != CANCELED * 100) { // get available balance of account involved availableBalance = From b3ad8652396c8b00c2b69fe68c063b84c3c389b3 Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Wed, 22 Nov 2023 16:43:09 +0100 Subject: [PATCH 12/23] Changed Keypad.java file location and optimized some ops --- src/code/Business_Logic/ATMCaseStudy.java | 5 +- src/code/Business_Logic/CashDispenser.java | 9 +- src/code/Business_Logic/DepositSlot.java | 3 +- src/code/Business_Logic/Transaction.java | 5 +- src/code/Database/Account.java | 3 +- src/code/Database/BankDatabase.java | 12 +-- src/code/Database/Euro.java | 96 +++++++++++----------- src/code/GUI/ATM.java | 9 +- src/code/GUI/BalanceInquiry.java | 8 +- src/code/GUI/Deposit.java | 17 ++-- src/code/GUI/Keypad.java | 38 +++++++++ src/code/GUI/Screen.java | 7 +- src/code/GUI/Withdrawal.java | 23 +++--- 13 files changed, 131 insertions(+), 104 deletions(-) create mode 100644 src/code/GUI/Keypad.java diff --git a/src/code/Business_Logic/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java index 8dc6048..f5f05a5 100644 --- a/src/code/Business_Logic/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -1,8 +1,7 @@ +package code.Business_Logic; // ATMCaseStudy.java // Driver program for the ATM case study -package code.Business_Logic; - import code.GUI.ATM; public class ATMCaseStudy @@ -12,7 +11,7 @@ public static void main( String[] args ) { ATM theATM = new ATM(); theATM.run(); - } // end main1 + } // end main } // end class ATMCaseStudy diff --git a/src/code/Business_Logic/CashDispenser.java b/src/code/Business_Logic/CashDispenser.java index d2704b6..ce7614b 100644 --- a/src/code/Business_Logic/CashDispenser.java +++ b/src/code/Business_Logic/CashDispenser.java @@ -1,10 +1,7 @@ +package code.Business_Logic; // CashDispenser.java // Represents the cash dispenser of the ATM -package code.Business_Logic; - -import code.Database.*; - public class CashDispenser { // the default initial number of bills in the cash dispenser @@ -20,14 +17,14 @@ public CashDispenser() // simulates dispensing of specified amount of cash public void dispenseCash( int amount ) { - int billsRequired = amount / 100 / 20; // number of $20 bills required + int billsRequired = amount / 20; // number of $20 bills required count -= billsRequired; // update the count of bills } // end method dispenseCash // indicates whether cash dispenser can dispense desired amount public boolean isSufficientCashAvailable( int amount ) { - int billsRequired = amount / 100 / 20; // number of $20 bills required + int billsRequired = amount / 20; // number of $20 bills required if ( count >= billsRequired ) return true; // enough bills available diff --git a/src/code/Business_Logic/DepositSlot.java b/src/code/Business_Logic/DepositSlot.java index 4667f70..ed3addf 100644 --- a/src/code/Business_Logic/DepositSlot.java +++ b/src/code/Business_Logic/DepositSlot.java @@ -1,8 +1,7 @@ +package code.Business_Logic; // DepositSlot.java // Represents the deposit slot of the ATM -package code.Business_Logic; - public class DepositSlot { // indicates whether envelope was received (always returns true, diff --git a/src/code/Business_Logic/Transaction.java b/src/code/Business_Logic/Transaction.java index d7e6bc5..056734a 100644 --- a/src/code/Business_Logic/Transaction.java +++ b/src/code/Business_Logic/Transaction.java @@ -1,10 +1,9 @@ +package code.Business_Logic; // Transaction.java // Abstract superclass Transaction represents an ATM transaction -package code.Business_Logic; - -import code.GUI.Screen; import code.Database.BankDatabase; +import code.GUI.Screen; public abstract class Transaction { diff --git a/src/code/Database/Account.java b/src/code/Database/Account.java index 82532da..e6fbc3c 100644 --- a/src/code/Database/Account.java +++ b/src/code/Database/Account.java @@ -1,8 +1,7 @@ +package code.Database; // Account.java // Represents a bank account -package code.Database; - public class Account { private int accountNumber; // account number diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index 460b1b8..7e02b97 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,8 +1,7 @@ +package code.Database; // BankDatabase.java // Represents the bank account information database -package code.Database; - public class BankDatabase { private Account accounts[]; // array of Accounts @@ -10,14 +9,9 @@ public class BankDatabase // no-argument BankDatabase constructor initializes accounts public BankDatabase() { - Euro availableBalance1 = new Euro(1000); - Euro totalBalance1 = new Euro(1200); - Euro availableBalance2 = new Euro(200); - Euro totalBalance2 = new Euro(200); - accounts = new Account[ 2 ]; // just 2 accounts for testing - accounts[ 0 ] = new Account( 12345, 54321, availableBalance1, totalBalance1 ); - accounts[ 1 ] = new Account( 98765, 56789, availableBalance2, totalBalance2 ); + accounts[ 0 ] = new Account( 12345, 54321, new Euro(1000.0), new Euro(1200.0 ) ); + accounts[ 1 ] = new Account( 98765, 56789, new Euro(200.0), new Euro(200.0 ) ); } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number diff --git a/src/code/Database/Euro.java b/src/code/Database/Euro.java index 33202f4..869b952 100644 --- a/src/code/Database/Euro.java +++ b/src/code/Database/Euro.java @@ -1,48 +1,48 @@ -package code.Database; - -public class Euro { - - private long valore; - - public Euro(long euro, long cent) { - if (euro >= 0) { - valore = euro*100 + cent; - } else { - valore = euro*100 - cent; - } - } - - public Euro(double d) { - valore = (long)(d*100); - } - - public long getValore() { - return valore; - } - - public Euro somma(Euro e) { - this.valore = this.valore + e.getValore(); - return this; - } - - public Euro sottrai(Euro e) { - this.valore = this.valore - e.getValore(); - return this; - } - - public boolean ugualeA(Euro e){ - if (valore == e.getValore()) - return true; - else return false; - } - - public boolean minoreDi(Euro e){ - if (valore <= e.getValore()) - return true; - else return false; - } - - public String stampa(){ - return (double)valore/100 +" euro"; - } -} \ No newline at end of file +package code.Database; + +public class Euro { + + private long valore; + + public Euro(long euro, long cent) { + if (euro >= 0) { + valore = euro*100 + cent; + } else { + valore = euro*100 - cent; + } + } + + public Euro(double d) { + valore = (long)(d*100); + } + + public long getValore() { + return valore; + } + + public Euro somma(Euro e) { + this.valore = this.valore + e.getValore(); + return this; + } + + public Euro sottrai(Euro e) { + this.valore = this.valore - e.getValore(); + return this; + } + + public boolean ugualeA(Euro e){ + if (valore == e.getValore()) + return true; + else return false; + } + + public boolean minoreDi(Euro e){ + if (valore <= e.getValore()) + return true; + else return false; + } + + public String stampa(){ + return (double)valore/100 +" euro"; + } +} diff --git a/src/code/GUI/ATM.java b/src/code/GUI/ATM.java index 1ea83b6..7e4ea9e 100644 --- a/src/code/GUI/ATM.java +++ b/src/code/GUI/ATM.java @@ -1,10 +1,11 @@ +package code.GUI; // ATM.java // Represents an automated teller machine -package code.GUI; - -import code.Business_Logic.*; -import code.Database.*; +import code.Business_Logic.CashDispenser; +import code.Business_Logic.DepositSlot; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; public class ATM { diff --git a/src/code/GUI/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java index d1cca18..fc5da7c 100644 --- a/src/code/GUI/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -1,10 +1,10 @@ +package code.GUI; // BalanceInquiry.java // Represents a balance inquiry ATM transaction -package code.GUI; - -import code.Business_Logic.*; -import code.Database.*; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; +import code.Database.Euro; public class BalanceInquiry extends Transaction { diff --git a/src/code/GUI/Deposit.java b/src/code/GUI/Deposit.java index 8b76f59..29f756a 100644 --- a/src/code/GUI/Deposit.java +++ b/src/code/GUI/Deposit.java @@ -1,10 +1,11 @@ +package code.GUI; // Deposit.java // Represents a deposit ATM transaction -package code.GUI; - -import code.Business_Logic.*; -import code.Database.*; +import code.Business_Logic.DepositSlot; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; +import code.Database.Euro; public class Deposit extends Transaction { @@ -32,7 +33,7 @@ public void execute() BankDatabase bankDatabase = getBankDatabase(); // get reference Screen screen = getScreen(); // get reference - amount = new Euro(promptForDepositAmount()); + amount = promptForDepositAmount(); // get deposit amount from user // check whether user entered a deposit amount or canceled if ( amount.getValore() != CANCELED ) @@ -70,7 +71,7 @@ public void execute() } // end method execute // prompt user to enter a deposit amount in cents - private double promptForDepositAmount() + private Euro promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen @@ -81,10 +82,10 @@ private double promptForDepositAmount() // check whether the user canceled or entered a valid amount if ( input == CANCELED ) - return CANCELED; + return new Euro(0); else { - return ( double ) input / 100; // return dollar amount + return new Euro(input / 100); // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/code/GUI/Keypad.java b/src/code/GUI/Keypad.java new file mode 100644 index 0000000..f0f716c --- /dev/null +++ b/src/code/GUI/Keypad.java @@ -0,0 +1,38 @@ +package code.GUI; +// Keypad.java +// Represents the keypad of the ATM +import java.util.Scanner; // program uses Scanner to obtain user input + +public class Keypad +{ + private Scanner input; // reads data from the command line + + // no-argument constructor initializes the Scanner + public Keypad() + { + input = new Scanner( System.in ); + } // end no-argument Keypad constructor + + // return an integer value entered by user + public int getInput() + { + return input.nextInt(); // we assume that user enters an integer + } // end method getInput +} // end class Keypad + + + +/************************************************************************** + * (C) Copyright 1992-2007 by Deitel & Associates, Inc. and * + * Pearson Education, Inc. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ \ No newline at end of file diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index 758f4ad..404dab9 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,9 +1,8 @@ +package code.GUI; // Screen.java // Represents the screen of the ATM -package code.GUI; - -import code.Database.*; +import code.Database.Euro; public class Screen { @@ -22,7 +21,7 @@ public void displayMessageLine( String message ) // display a dollar amount public void displayDollarAmount( Euro amount ) { - System.out.printf(amount.stampa()); + System.out.printf( amount.stampa() ); } // end method displayDollarAmount } // end class Screen diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index 859eb74..fe2dddf 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -1,14 +1,15 @@ +package code.GUI; // Withdrawal.java // Represents a withdrawal ATM transaction -package code.GUI; - -import code.Business_Logic.*; -import code.Database.*; +import code.Business_Logic.CashDispenser; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; +import code.Database.Euro; public class Withdrawal extends Transaction { - private Euro amount; // amount to withdraw + private int amount; // amount to withdraw private Keypad keypad; // reference to keypad private CashDispenser cashDispenser; // reference to cash dispenser @@ -42,25 +43,25 @@ public void execute() do { // obtain a chosen withdrawal amount from the user - amount = new Euro(displayMenuOfAmounts()); + amount = displayMenuOfAmounts(); // check whether user chose a withdrawal amount or canceled - if ( amount.getValore() != CANCELED * 100) + if ( amount != CANCELED ) { // get available balance of account involved availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount.getValore() <= availableBalance.getValore() ) + if ( amount <= availableBalance.getValore() ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( (int) amount.getValore() ) ) + if ( cashDispenser.isSufficientCashAvailable( amount ) ) { // update the account involved to reflect withdrawal - bankDatabase.debit( getAccountNumber(), amount ); + bankDatabase.debit( getAccountNumber(), new Euro(amount) ); - cashDispenser.dispenseCash( (int) amount.getValore() ); // dispense cash + cashDispenser.dispenseCash( amount ); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash From db9b65065fe30fba98c9d0d2d17d7017218477e0 Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Wed, 22 Nov 2023 17:22:40 +0100 Subject: [PATCH 13/23] Added Tests for Euro Class --- src/test/TestEuro.java | 269 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 src/test/TestEuro.java diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java new file mode 100644 index 0000000..9816623 --- /dev/null +++ b/src/test/TestEuro.java @@ -0,0 +1,269 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.Euro; + +public class TestEuro { + + // Single argument (Double Values) + Euro value1; + Euro value2; + Euro negativeValue1; + Euro negativeValue2; + Euro doubleValue; + Euro negativeDoubleValue1; + Euro negativeDoubleValue2; + + // Two arguments (long euro, long cent) + Euro value3; + Euro value4; + Euro negativeEuroT; + Euro negativeCentT; + Euro negativeEuroAndCentT; + + @Before + public void setUp() { + value1 = new Euro(35); + value2 = new Euro(15); + negativeValue1 = new Euro(-11); + negativeValue2 = new Euro(-33); + doubleValue = new Euro(42.75); + negativeDoubleValue1 = new Euro(-12.33); + negativeDoubleValue2 = new Euro(-24.52); + + value3 = new Euro(25, 10); + value4 = new Euro(72, 54); + negativeEuroT = new Euro(-50,30); + negativeCentT = new Euro(50, -30); + negativeEuroAndCentT = new Euro(-50, -30); + } + + + // Tests for initialize Euro // + @Test + public void testInitOneArgument() { + assertEquals(3500, value1.getValore()); + } + + @Test + public void testInitDoubleValue() { + assertEquals(4275, doubleValue.getValore()); + } + + @Test + public void testInitNegativeDoubleValue() { + assertEquals(-1233, negativeDoubleValue1.getValore()); + } + + @Test + public void testInitTwoArguments() { + assertEquals(2510, value3.getValore()); + } + + @Test + public void testInitNegativeEuro() { + assertEquals(-5030, negativeEuroT.getValore()); + } + + @Test + public void testInitNegativeCent() { + assertEquals(4970, negativeCentT.getValore()); + } + + @Test + public void testInitNegativeEuroAndCent() { + assertEquals(-4970, negativeEuroAndCentT.getValore()); + } + + + + // Tests for sum // + @Test + public void testSommaOneArgumentBothPositive() { + Euro result = value1.somma(value2); + assertEquals(5000, result.getValore()); + } + + @Test + public void testSommaOneArgumentOneNegative() { + Euro result = value1.somma(negativeValue1); + assertEquals(2400, result.getValore()); + } + + @Test + public void testSommaOneArgumentBothNegative() { + Euro result = negativeValue1.somma(negativeValue2); + assertEquals(-4400, result.getValore()); + } + + @Test + public void testSommaOneArgumentOneNegativeDouble() { + Euro result = negativeDoubleValue1.somma(value1); + assertEquals(2267, result.getValore()); + } + + @Test + public void testSommaOneArgumentBothNegativeDouble(){ + Euro result = negativeDoubleValue1.somma(negativeDoubleValue2); + assertEquals(-3685, result.getValore()); + } + + + @Test + public void testSommaTwoArgumentsBothPositive() { + Euro result = value3.somma(value4); + assertEquals(9764, result.getValore()); + } + + @Test + public void testSommaTwoArgumentsOneNegative() { + Euro result = value3.somma(negativeEuroT); + assertEquals(-2520, result.getValore()); + } + + @Test + public void testSommaTwoArgumentBothNegative() { + Euro result = negativeEuroT.somma(negativeCentT); + assertEquals(-60, result.getValore()); + } + + + @Test + public void testSommaMixedArguments() { + Euro result = value1.somma(value3); + assertEquals(6010, result.getValore()); + } + + + + + // Tests for sub // + + @Test + public void testSottraiOneArgumentBothPositive() { + Euro result = value1.sottrai(value2); + assertEquals(2000, result.getValore()); + } + + @Test + public void testSottraiOneArgumentOneNegative() { + Euro result = value1.sottrai(negativeValue1); + assertEquals(4600, result.getValore()); + } + + @Test + public void testSottraiOneArgumentBothNegative() { + Euro result = negativeValue1.sottrai(negativeValue2); + assertEquals(2200, result.getValore()); + } + + @Test + public void testSottraiOneArgumentOneNegativeDouble() { + Euro result = negativeDoubleValue1.sottrai(value1); + assertEquals(-4733, result.getValore()); + } + + @Test + public void testSottraiOneArgumentBothNegativeDouble(){ + Euro result = negativeDoubleValue1.sottrai(negativeDoubleValue2); + assertEquals(1219, result.getValore()); + } + + + @Test + public void testSottraiTwoArgumentsBothPositive() { + Euro result = value3.sottrai(value4); + assertEquals(-4744, result.getValore()); + } + + @Test + public void testSottraiTwoArgumentsOneNegative() { + Euro result = value3.sottrai(negativeEuroT); + assertEquals(7540, result.getValore()); + } + + @Test + public void testSottraiTwoArgumentBothNegative() { + Euro result = negativeEuroT.sottrai(negativeCentT); + assertEquals(-10000, result.getValore()); + } + + + @Test + public void testSottraiMixedArguments() { + Euro result = value1.sottrai(value3); + assertEquals(990, result.getValore()); + } + + + + // Tests EqualsTo // + + @Test + public void testUgualeA1() { + assertTrue(value1.ugualeA(new Euro (35, 0))); + } + + @Test + public void testUgualeA2() { + Euro val1 = new Euro(10); + Euro val2 = new Euro(5); + Euro result = val1.somma(val2); + assertTrue(value2.ugualeA(result)); + } + + @Test + public void testNotUgualeA() { + assertFalse(value4.ugualeA(negativeDoubleValue1)); + } + + + // Tests LessThan // + + @Test + public void testMinoreDi1() { + assertTrue(value2.minoreDi(value1)); + } + + @Test + public void testMinoreDi2() { + assertTrue(doubleValue.minoreDi(new Euro(60))); + } + + @Test + public void testMinoreDi3() { + assertFalse(negativeDoubleValue1.minoreDi(negativeDoubleValue2)); + } + + + // Tests Print // + + @Test + public void testStampaOneArgument1() { + assertEquals("35.0 euro", value1.stampa()); + } + + @Test + public void testStampaOneArgument2() { + assertEquals("15.0 euro", value2.stampa()); + } + + @Test + public void testStampaTwoArguments1() { + assertEquals("25.1 euro", value3.stampa()); + } + + @Test + public void testStampaTwoArguments2() { + assertEquals("72.54 euro", value4.stampa()); + } + + @Test + public void testStampaFalse() { + assertNotEquals("128.44 euro", negativeDoubleValue1.stampa()); + } +} \ No newline at end of file From f275ef9f4f5daffae0aa7bb46cedc330a8d70952 Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Wed, 22 Nov 2023 17:56:21 +0100 Subject: [PATCH 14/23] Updated file locations --- .gitignore | 24 ++++++++++++++++++ bin/ATM.class | Bin 2920 -> 0 bytes bin/ATMCaseStudy.class | Bin 456 -> 0 bytes bin/Account.class | Bin 1146 -> 0 bytes bin/BalanceInquiry.class | Bin 1116 -> 0 bytes bin/BankDatabase.class | Bin 1450 -> 0 bytes bin/CashDispenser.class | Bin 677 -> 0 bytes bin/Deposit.class | Bin 1997 -> 0 bytes bin/DepositSlot.class | Bin 343 -> 0 bytes bin/Keypad.class | Bin 535 -> 0 bytes bin/Screen.class | Bin 910 -> 0 bytes bin/Transaction.class | Bin 812 -> 0 bytes bin/Withdrawal.class | Bin 2489 -> 0 bytes .../Business_Logic}/ATMCaseStudy.java | 4 +++ .../Business_Logic}/CashDispenser.java | 2 ++ .../Business_Logic}/DepositSlot.java | 2 ++ .../Business_Logic}/Transaction.java | 5 ++++ src/{ => code/Database}/Account.java | 2 ++ src/{ => code/Database}/BankDatabase.java | 2 ++ src/{ => code/GUI}/ATM.java | 7 +++++ src/{ => code/GUI}/BalanceInquiry.java | 5 ++++ src/{ => code/GUI}/Deposit.java | 6 +++++ src/{ => code/GUI}/Keypad.java | 2 ++ src/{ => code/GUI}/Screen.java | 2 ++ src/{ => code/GUI}/Withdrawal.java | 6 +++++ 25 files changed, 69 insertions(+) create mode 100644 .gitignore delete mode 100644 bin/ATM.class delete mode 100644 bin/ATMCaseStudy.class delete mode 100644 bin/Account.class delete mode 100644 bin/BalanceInquiry.class delete mode 100644 bin/BankDatabase.class delete mode 100644 bin/CashDispenser.class delete mode 100644 bin/Deposit.class delete mode 100644 bin/DepositSlot.class delete mode 100644 bin/Keypad.class delete mode 100644 bin/Screen.class delete mode 100644 bin/Transaction.class delete mode 100644 bin/Withdrawal.class rename src/{ => code/Business_Logic}/ATMCaseStudy.java (96%) rename src/{ => code/Business_Logic}/CashDispenser.java (98%) rename src/{ => code/Business_Logic}/DepositSlot.java (97%) rename src/{ => code/Business_Logic}/Transaction.java (96%) rename src/{ => code/Database}/Account.java (99%) rename src/{ => code/Database}/BankDatabase.java (99%) rename src/{ => code/GUI}/ATM.java (97%) rename src/{ => code/GUI}/BalanceInquiry.java (96%) rename src/{ => code/GUI}/Deposit.java (96%) rename src/{ => code/GUI}/Keypad.java (98%) rename src/{ => code/GUI}/Screen.java (98%) rename src/{ => code/GUI}/Withdrawal.java (97%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..524f096 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* diff --git a/bin/ATM.class b/bin/ATM.class deleted file mode 100644 index 76543bfde35c4daa304c3934c927eca8f833d61e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2920 zcmai0Yi}FJ6+J`JCcRp}l-h|U*QHwj0NitX9^;WbTCUZ{!yU2=XBTDhjB9elGem`Um=<=$9g?duEr6)ggHOaN9+>3!l-(FkR z*Jhl0O}RWnV1I5p>fjq)WmT)z9lubi63X7(%+8civn1X18R^TCtSfWB%bB6PzVF3 zVd>DIi9Ilqc#fe^4+H5ilrhl-Gl>xmH>!t$;qZ;~CiY@q65pmk5k(AK2;(o9*pCBA zj8USfBnB>pFI+Zp5ZzjE$5mnGin3IphTXZUEh|gXbM(CJO!#X~U0_#^WkOlwUc*gc zMqrPztSWYOL-lK3b0)6h8n-AjqZQfAt9o6oDt&~&p@G~^X%&3WaaYF&mkcWLJrghD zC`(U9YU~Esj2!Y zT)~(2dS2E71}PK-P8y39#X7NAv&z#8JWGbPYq>%3j#-+<4HHY6#=a+M==8j7Vg)Sy z)T;8cZmq$RWEEsn_yMnpF}t(xVs>6{b_uU)a<5Ukfoyj0l@z4FNY=eAD^B?vhg((8 z;Fi7qN=q|s=LZ=_$r0h1r8gtcO9SEv)B-6WDk^bqCVN>eh2`qfN5V*)fGC zaT|I1tqrmtOW{pc%&0YFEjj9rwb8Unk}b_9gP(ANa||py{#x0ScP!n3Qh1B*^K`c_ zlXbJ2mdcfI|E&9Z!||F1?%}>}2k!~= z3}ib!@X78pxRk^%b?<2-kre|E@V;L5fxzhhTGnZv-{_Qjw~ut+3j3ph5AiF#)vpDH z|L<0j7Q#Epp5`}eys`rqC^yzsI=4$3!DI z&ZW0;JRRRczy3LyeuUF2+c>j@0h(!=XSXm!bC~An7S7SUK=b)6T%>u4=J*ySz6dZ) z^7mQxY2XkNc$(HTWO9UmJvfD4w&OmG5y31Ge1~tDAp(3CQ=AE0`5N83R7ay5-Nb?P zA2HB9-NJ0Tg)AripFI9M&0GYueq(`eY(D-Q7sasy~{$2TJdH~BROetOzy{=wC{%xWUvtJAQ~ zN2AleBYZ~qEIh)!6@omef%2Ky#xL@ln0$l>Pq-Nx;&W~r4;eoG2p|5p@WpL>oIm?{ zaE87(VL84-Hurd6@AI;}$2{HV$q#TI4~hSM=H($4@ByylBfQF9a*Lyj-$u%@*5*bg h_ze{o+)uyJ;Hb;73yCk$$E+Ma*301U=!)U@{{e#?XM_L% diff --git a/bin/ATMCaseStudy.class b/bin/ATMCaseStudy.class deleted file mode 100644 index 607c10d4dd7fb15304bfa8a9ae6744532e8a1e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmZut-AV#M7(KJDuDhLH!=Ros>RsS?-;=L0$I$yl5IZ)hiDy$~pc z+nz1z&7_V5YW3%EQFxc;f4b4!b6+V9lN_k$+pQJ)&6yHVQ<4eSx*e z&P54jP7L{uVis%h6T#DxpL70>>PDora&(c0M{;2$R$CKL!#;_5CON<%gifW<(4o(MiXYI# zn3S0K;0O3o#&yn&1S~Ie_St8xwf9~de*gLT3&1Npi6JBqdt=+9$E__!-zdLvH`W~t~)cj$Vr zS*X@(?e5k)0>;j$=OhqD+C&l=>ecFEa?p`uSKWi8;T^l@0`Yb*;0t!_9XrA8-#AgGKD71)a_a5cKxt-=7UoG_ z$bs9Fp3gFBt@YWC$JIVieNRZE{toCEQ^Y;d=#lgKiFpQ7E%)T_N`s5#us^$$OYJ zz

T;7_HB5OUX6VgUUOURLv)?k5|~J+6%rW^bA{^sWCTGayC;E7M>Tz>% diff --git a/bin/BalanceInquiry.class b/bin/BalanceInquiry.class deleted file mode 100644 index 48f8e6aac7e4689adac3e3b62b94bed3ef9ca787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1116 zcmZ8gTT|0O6#f=kQbOd?3UUz$7qx`~UJ#{Rv`}&C6kq7@z74TP(?pY$k)P#Do$EuXZH8&lMTTh79e!!nr`|*uSuK3}V!!fT#)#%c#|* zA&|Ky#CkmLWyRL|Sqfybga|Z5Xo)ieb zrl1p;OhrK!4VYMBLxkKS&!SZwD|nz`Rlw-2XW$_o3FK7JrF2|1pkyE%ZN6HlsKA1O zH3d^_>wYBN1d>5fU{X(ZX4U)P2Q8`8E9uz8V+~uBu}jjx6Fj9B7f$%al~<>B7|N!t zv|@^U?UTHeTNI+XbruDV*QB-?Yzs`88|HszW}~ZB$yDig47^Y&NBdK%t6c*nP|93# zRqpj28N3qUP>n{a6W6eie4mISA0Cs}qDbC|(A*9sO;z#`=_ yvCY;?SjKCfsy4P6MKVbnY3%bRN2)p{F2`-;76YgP0v*zItMy8-B4FPrPBtH-0_K=s@q-BgBb}KS zh@Pu1c{U7mIitPuuXr_q7(31^+H7yc!A|T_S`Irnf};YRtFr7b5qhmKLz5|aQJ|;J zys(cyS}YaQpw70x0vlB`tI{tkd!{5u>(Vtvlvj1mI5-J9!y)ErFTr!wK$b(GLQFUq zQwY3$hB|lK8OAan5ls#Lm*Ie&{ug2EX zKAD4R>#&OkaNay4YE^i%c;_zhjPtb$Wf3rzeGNMsdk5zg64{qX7;oV$^c*^!>`tL4 zg^jP#JFDVR6;EzXZb@M)KNWt#{0O%3>|+g(H;PVbRFm(*C=wW8)M?hicI?o2&Lq_E zkl9LEM)5D4iM>A&H71^*cS~&G$n;PHyZav@HuU_yAqIM*kAHm^&j~i#3Z{_4CcZb5 zJca$}*9CX##xr3-(qkY02_kHy`HCP*o?aNgumL7*p~u3)0U!|}YzV`lzJSmup~-B2 z0|#e@KO#Q7t${;Nji)UkNsSm}ANxqZAKfgVy3RH;TOyJ;rbUnq$9YqoJ2*kKq2+Kc zKhSMyw@%_zs9>D92-)IVK?A3s@zJ#0Bm@}I#rm3{Ri9pX&LS78 zDpIrZ#n!6Q4NR_Wf~}>Dau>$hhGDm)*)1Pz+)}+ CIN&V+ diff --git a/bin/CashDispenser.class b/bin/CashDispenser.class deleted file mode 100644 index b8cedbabb217701eda2172f78400527c77edff6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmZva&2G~`6ot>kPC`>Bj??f{no`)6Ea(G3D^)>AmO?6#5D7MD;!N8qu3h}o_hH`+ z5>=%x`T#snmk4pjwkj&I8PB=C=YHo}{`Kej2EZ$Q?EzmuY z=W-{M(b3Mq;zR`*yZnhi^Y_PJMh71!GXdcnXB?%OjIy~5b7cYIR-hilc|=3wjgEA- zCtz*AoD0~ac&S>j&~ebh>Iz74u!4qwJJyk!*=wr_w9d0GZ(FLW5DAJn&8Cu%9MuG49Lc&G!dqRd$K&!rAau4hz+H`c#Go58W*3hRCc!)>UtU0?4ySvfthr7d1Kj99R z|CzVOWPP}Fnt9JlPc@HjJT7wANqoYa$+ymJ%DhL^hT)YAgZPfRePLa&Xu*W;F)oVr h2aLT*(AGa7?+)bMft(7oK_5TaZ@B!eFrcbo^DlP^aK8Wm diff --git a/bin/Deposit.class b/bin/Deposit.class deleted file mode 100644 index 57b0c3f71f0c14c3e68bdbb1340a34a706e145a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1997 zcmZ`(+inwA6kU_Vu`>)Im;?w3^w0~~#&IYuq$J#oowNogq}X*EdV!PiAsI56v1Z1h zk^0i7enLeho_R!-N-FiCAJ9*#RMd6GV@N7hmd59@_daW_efjJ4AAbV44mXVf1L>;j z_@NV}F=XISGmu^=?a1*x1H*FL?|P8|qsq;e+U>};flU2wyjq}nyXV_*eOeu^C!zF~ zx0yNP1CAx?MF$2w>D}j^{)-49w!pE_&J+sg>^bx(b?d z-Bkv%b>Eh5O9qbKCx=7PrV|<%=_4Suquo#iW!u*B^aAi+M%z6GTBC#uAK~$SLIy?; z66|^QH034D_sPiosPC2CjRdBH0)M*`E%`wLp_~)|pRQ`X1w>Vg?UiO(Y6zIT)Dff!ccCI zjVPe=f~Gx(>lSX{rh#LLOVxK>8T1hj<*NBs24&V-Nn2MeRP_VdgAeG8n^?kUX?)81 z-KVsL8t%~E2^SOm_m!=j9mSF-{RbJ;4Lmp3{BH1;;ie45I%`%0iEYVTxz}8r7tKv2 zwtY|SiYMJL>Pw^A;;G}h!t*1#3G#GYU1)-3rz5rWl zm<`x=*vhF~Etc~u19voK(RSJ~>VC4lHyRX0=*M`=&1IqWu%%}!mq=rP(c6Ji%HV;4 zNwX3g=&IO%St=3J`o7L5oG=~;B-1acw<$3g>Tn~H_SUlO#EqJPG%(+{N}rN>sv(FX?1 z29sc`B}WerE2*ZEE?}IcnI3XO7|=b#)qtKq@js^z|4-o%ELt6o&qis@p2irzM|tuC zJ+;?(VX8RuJFD3v$Lo9kFh*D!5$Gb$PBaP!dVoMRj`}m-T#2Da>zI#;I!?`*?h2;XjrB}FA_zjmv ze}0B?G5hfzt`zlt57&y>TYI?8&51oM-Z=dXCyUv;Jh?!(<(|#wFOV%}zvSTyj1;qL zTxeE<(5&u|7l=JY^d|9UiF1mGritkc|Igwa@;HxK6xixBSm3IR%UH%0tl}zKxP~>{ z#6zBHH3~iai5e+<&7aPXNy~3yHRkyJ7T@vxhqNEV;A^a=aX*bY<8NeA)QbZ$$;^+8 zrd1PKiu#4@BQhtci9M`epZ*1@(U;Rdjbp=qNt+&@Q*kzy$fw4f-({9oaDsh0$!^s6 iL@(YOd{Z$hjymSlVcrH}R2;znU{XUOkSBB-z}CO7AjkIr diff --git a/bin/DepositSlot.class b/bin/DepositSlot.class deleted file mode 100644 index a2664ad97f3f37ceedeef3f28138881cd983b39d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmYjMyH3ME5S(=`F*pe^`2#vY2!8;NhDT*357J_@mC z5V)Dyxt+P){rr0W0C0h6h=4G>=8dh5TNKuXP=t7`8=Vxod`#xqnsY}OoSV|POG5AP zXh~34cEu5T*d3vd0b!Dwl4slJjH`Q{6-=0>HrK^cSH|n#N9CSOO&F)0k!RvH^-bAu zVK;ooIh%%8?W6}nw6NPM=Ue0dj61PYza$PIM!5wDq>@zxLs5w^3HOiRu=CosBSGH= l6o!JMAA|5%6k!h&K_5O5_P#*9c*K7)>Li1|WZb&;zX8_XJgxu$ diff --git a/bin/Keypad.class b/bin/Keypad.class deleted file mode 100644 index 9b066e220ca842b7787e1c6ebbcc07d61efe2393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcmZut%TB^T6g^WOEw#KweByHfEF^J@x-ps%i7skLTn;e7A*Cgy82KkR8kIy7KfsSN z-YLXrbTe}w=bU@*`S^T&2XKTv9U4RYTug?%t0T&g>GNA&bGX~9UAFt86EMW2I~>!W zZ-%{bAf1}s;jSzEI*|{hD}!T(NV(Eth@N;|VIqPB3pxxPNrvnnUIJ-kb!2|cvnQiK z3@qf3XV9d}P?$}WUag^4umfN4LEVIff>K{%ST6qysk9QHriB>d4C$tH#l?8g7XB4) zJAxtC^g7&WabK!@UW^7ea>QUXXLitSMo$FcKm-IhTmpq_fNgCBB6ko7;Pq7B26A$aTAAIARzZ0T%zW`@jWi$W) diff --git a/bin/Screen.class b/bin/Screen.class deleted file mode 100644 index a03675802694ce60d6bb59226365236d62e87a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmaiyU2oGc7=@49v}v#JAsWT?V7a_A|6S}zz$Zy-Zgud|;< z^xmBclzQoD9f6Dc?)1o$Cp&67m1FvxM(^zSeiXX?xYHbzaS4kiYIEWGC(}qxY+Q!J zU_s2BPHJ|8_G>yL`jwn?EL_1g6ITTm6ZZVJjq9ig6ppk*z?}SwQu{Lr>zWU&>(=-? zHtuSQnNU2RM`glp;CV89J_%w?HyYjMpoA5+bY*q3wRK?OJ{l(0<|^w3F`H(iiFG26 zr5CH+1Kpc$b0$-&N~+tm@c=DCljAAf{!1I*&3My`?PR$5hVWX7GRrHv0#-kW!;yOF z>U&*CudbyVi6yY{d_{o4FTMnhCRc6Ff^%X06G|WWk%PriZ)@oSM>`d8zQ7e90xBG} z`5DzY&ZUp2Zk(ci=C_jnWvZ-%QBQRlgAUxlO;QAI{fl<{Jgq`n^*^*FEN9tvsMZBL q%vQT+d_{gQzxElc{ZnkbJ&$(yGV3#F=XX$t9eS7qeMDFeTR#DnORnGm diff --git a/bin/Transaction.class b/bin/Transaction.class deleted file mode 100644 index 1330b55e97b38711f909025f939758b75d82a158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmZuv+iuf96r8o4q)FUdnl?bMP;Q9@RFg76$`BRX9apK;07}Od?>XHWTpf<{)bA;di_ll zNBW(>=ID6Ay7^{26>tuckE#V5T^DWi1nkjx+JwNGiyG<%t-EMo#h{^!CRzerKZ;eU z?_35mPG9qrP|l_@jZA!b&uzeERf}(!?kvK_Ao#n z_nGxdJ|19`5j$avb47u+IoT@E4rklU?qctH@`Sf}Rr7wL|Bb+c8C6n;MQbC{2rgR- oJcO}lWLL?9?@Q$EJIVWadk(n6d&&EH=80P1>+goQ$T(al+exLike!egL^Tn^f12~R* zDgp|$i07 z)zD3u0-+w9A>P0j~*|J{_kdcwIU| z2up=-9Y>@>lr}4X&~OxQs5nNr%1);o|wb;F(SZYW@b{uDPyb1QQ zE)$eJD^2*C6A_$M(5#&+nCv>k6|<(XR4kW_97PPfxR}r|f{cn$Hm#4Dj&nHAj#)>` zam2JKJBqCqOJ5fYqMf--w~x6c%bxCw)5n;Cl$Nrc^(1`z6!pCBvV~L1fNWZCSU zMw@YQoAJ6O=gPBVafE6VcjC#lIiRqcb(i3Ux{2nL1Pa&Kb_6FM8LhaS4*xT zy12goRzdAGWS!@A+>o{1URhfW4$3OnQ(=Epbu7sKkFcRr_I%lm;HEU6S`Y;*Z#ZVb z^j2xY7%wduVp>=>q15EwU<8)zdeyHb$18A|of)#E85OrFHpceLnWrtemTEUPPeL{p zUg7x39U4SHP9v#+TyEaY)y8`dw(*_i@ZM@D&3sVHGs>4c)RbEFEzPZMzhFm8Q}8*N zrqFXVKJzqo^Q@y3u#=V>QG;EicB6?eCwyJ{XeLK1c**l6sl9lau}Eqk3@^rdMjP=g z)nh+n3o(XQalns6`F=H$2UYzo%XqCf$TQv>YT?!P9Gxvcqca+Qj4Ms@!{KH0q~z0s z*w>G6id3WImeKzZF<-*_x{Se%Z>NL(O`*ECmXUsneWWgUR0FATkJ?6Rg4DC-hby1S zwVA@|6AT)-z7-vsW1Rd56N81G<`V8wBsJ}xt!`-IS^ zBDhPR1|i&zCA>%IL-Y@}aA<{3VHJu3mhY&_C#>KiLh`9orSfA-ed%t57S6C(Bbdb)3WVLJ)D3)& zoA`nNe~H`pinH?#KEStx{t@r*DDeazd8O<2ky$U@6Y9trRPop=PJmwTvFNuMQHfw;mlsd)cyES|KkpGCMgRZ+ diff --git a/src/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java similarity index 96% rename from src/ATMCaseStudy.java rename to src/code/Business_Logic/ATMCaseStudy.java index b9033bd..05e93b5 100644 --- a/src/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -1,3 +1,7 @@ +package code.Business_Logic; + +import code.GUI.ATM; + // ATMCaseStudy.java // Driver program for the ATM case study diff --git a/src/CashDispenser.java b/src/code/Business_Logic/CashDispenser.java similarity index 98% rename from src/CashDispenser.java rename to src/code/Business_Logic/CashDispenser.java index b249faf..a6aa4ca 100644 --- a/src/CashDispenser.java +++ b/src/code/Business_Logic/CashDispenser.java @@ -1,3 +1,5 @@ +package code.Business_Logic; + // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/DepositSlot.java b/src/code/Business_Logic/DepositSlot.java similarity index 97% rename from src/DepositSlot.java rename to src/code/Business_Logic/DepositSlot.java index 64e02c2..123cbaa 100644 --- a/src/DepositSlot.java +++ b/src/code/Business_Logic/DepositSlot.java @@ -1,3 +1,5 @@ +package code.Business_Logic; + // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/Transaction.java b/src/code/Business_Logic/Transaction.java similarity index 96% rename from src/Transaction.java rename to src/code/Business_Logic/Transaction.java index 508fea8..3b09179 100644 --- a/src/Transaction.java +++ b/src/code/Business_Logic/Transaction.java @@ -1,3 +1,8 @@ +package code.Business_Logic; + +import code.GUI.Screen; +import code.Database.BankDatabase; + // Transaction.java // Abstract superclass Transaction represents an ATM transaction diff --git a/src/Account.java b/src/code/Database/Account.java similarity index 99% rename from src/Account.java rename to src/code/Database/Account.java index c308eca..35f373f 100644 --- a/src/Account.java +++ b/src/code/Database/Account.java @@ -1,3 +1,5 @@ +package code.Database; + // Account.java // Represents a bank account diff --git a/src/BankDatabase.java b/src/code/Database/BankDatabase.java similarity index 99% rename from src/BankDatabase.java rename to src/code/Database/BankDatabase.java index 3978497..5d078b2 100644 --- a/src/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,3 +1,5 @@ +package code.Database; + // BankDatabase.java // Represents the bank account information database diff --git a/src/ATM.java b/src/code/GUI/ATM.java similarity index 97% rename from src/ATM.java rename to src/code/GUI/ATM.java index aa3d187..7067eb1 100644 --- a/src/ATM.java +++ b/src/code/GUI/ATM.java @@ -1,3 +1,10 @@ +package code.GUI; + +import code.Business_Logic.CashDispenser; +import code.Business_Logic.DepositSlot; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; + // ATM.java // Represents an automated teller machine diff --git a/src/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java similarity index 96% rename from src/BalanceInquiry.java rename to src/code/GUI/BalanceInquiry.java index d45fa6a..ab64df8 100644 --- a/src/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -1,3 +1,8 @@ +package code.GUI; + +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; + // BalanceInquiry.java // Represents a balance inquiry ATM transaction diff --git a/src/Deposit.java b/src/code/GUI/Deposit.java similarity index 96% rename from src/Deposit.java rename to src/code/GUI/Deposit.java index 916ef70..a684129 100644 --- a/src/Deposit.java +++ b/src/code/GUI/Deposit.java @@ -1,3 +1,9 @@ +package code.GUI; + +import code.Business_Logic.DepositSlot; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; + // Deposit.java // Represents a deposit ATM transaction diff --git a/src/Keypad.java b/src/code/GUI/Keypad.java similarity index 98% rename from src/Keypad.java rename to src/code/GUI/Keypad.java index cd035c7..d140a84 100644 --- a/src/Keypad.java +++ b/src/code/GUI/Keypad.java @@ -1,3 +1,5 @@ +package code.GUI; + // Keypad.java // Represents the keypad of the ATM import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/Screen.java b/src/code/GUI/Screen.java similarity index 98% rename from src/Screen.java rename to src/code/GUI/Screen.java index 44d3f30..64535fd 100644 --- a/src/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,3 +1,5 @@ +package code.GUI; + // Screen.java // Represents the screen of the ATM diff --git a/src/Withdrawal.java b/src/code/GUI/Withdrawal.java similarity index 97% rename from src/Withdrawal.java rename to src/code/GUI/Withdrawal.java index 6e0af62..68334f6 100644 --- a/src/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -1,3 +1,9 @@ +package code.GUI; + +import code.Business_Logic.CashDispenser; +import code.Business_Logic.Transaction; +import code.Database.BankDatabase; + // Withdrawal.java // Represents a withdrawal ATM transaction From a27d67b5d1eeb72bb1444f19059449ac39c57a47 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Fri, 24 Nov 2023 13:47:05 +0100 Subject: [PATCH 15/23] added testATM placeholders --- src/test/TestATM.java | 65 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/test/TestATM.java diff --git a/src/test/TestATM.java b/src/test/TestATM.java new file mode 100644 index 0000000..7225616 --- /dev/null +++ b/src/test/TestATM.java @@ -0,0 +1,65 @@ +package test; + +import static org.junit.Assert.*; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.*; +import code.Business_Logic.*; +import code.Business_Logic.Keypad; +import code.GUI.*; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +public class TestATM { + private ByteArrayOutputStream outContent; + + @Before + public void setUp() { + ATM theATM = new ATM(); + theATM.run(); + + // det up System.in to provide input to the Keypad. + String input = "12345\n54321\n"; // User enters account number and PIN + InputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + // set up System.out to capture output from the Screen. + outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + } + + @Test + public void ViewBalance() { + String input = "1"; // option to view balance + InputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + assertEquals(); + } + + @Test + public void Withdraw() { + String input = "2"; // option to withdraw + InputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + input = "1"; // withdraw 20 dollars; + in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + assertEquals(); + } + + @Test + public void Deposit() { + String input = "3"; // option to deposit + InputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + input = "100"; // withdraw 1 dollar; + in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + assertEquals(); + } +} \ No newline at end of file From 3a39abd205dd54c7ed9d603fee29b6cfda581de1 Mon Sep 17 00:00:00 2001 From: Simo64Terminator Date: Sun, 26 Nov 2023 03:04:22 +0100 Subject: [PATCH 16/23] Finished test on TestAccount and TestBankDatabase --- src/code/Business_Logic/Keypad.java | 40 --------- src/test/TestATM.java | 65 --------------- src/test/TestAccount.java | 105 +++++++++++++++++++++++ src/test/TestBankDatabase.java | 124 ++++++++++++++++++++++++++++ 4 files changed, 229 insertions(+), 105 deletions(-) delete mode 100644 src/code/Business_Logic/Keypad.java delete mode 100644 src/test/TestATM.java create mode 100644 src/test/TestAccount.java create mode 100644 src/test/TestBankDatabase.java diff --git a/src/code/Business_Logic/Keypad.java b/src/code/Business_Logic/Keypad.java deleted file mode 100644 index 76ebea1..0000000 --- a/src/code/Business_Logic/Keypad.java +++ /dev/null @@ -1,40 +0,0 @@ -// Keypad.java -// Represents the keypad of the ATM - -package code.Business_Logic; - -import java.util.Scanner; // program uses Scanner to obtain user input - -public class Keypad -{ - private Scanner input; // reads data from the command line - - // no-argument constructor initializes the Scanner - public Keypad() - { - input = new Scanner( System.in ); - } // end no-argument Keypad constructor - - // return an integer value entered by user - public int getInput() - { - return input.nextInt(); // we assume that user enters an integer - } // end method getInput -} // end class Keypad - - - -/************************************************************************** - * (C) Copyright 1992-2007 by Deitel & Associates, Inc. and * - * Pearson Education, Inc. All Rights Reserved. * - * * - * DISCLAIMER: The authors and publisher of this book have used their * - * best efforts in preparing the book. These efforts include the * - * development, research, and testing of the theories and programs * - * to determine their effectiveness. The authors and publisher make * - * no warranty of any kind, expressed or implied, with regard to these * - * programs or to the documentation contained in these books. The authors * - * and publisher shall not be liable in any event for incidental or * - * consequential damages in connection with, or arising out of, the * - * furnishing, performance, or use of these programs. * - *************************************************************************/ \ No newline at end of file diff --git a/src/test/TestATM.java b/src/test/TestATM.java deleted file mode 100644 index 7225616..0000000 --- a/src/test/TestATM.java +++ /dev/null @@ -1,65 +0,0 @@ -package test; - -import static org.junit.Assert.*; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import org.junit.Before; -import org.junit.Test; - -import code.Database.*; -import code.Business_Logic.*; -import code.Business_Logic.Keypad; -import code.GUI.*; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; - -public class TestATM { - private ByteArrayOutputStream outContent; - - @Before - public void setUp() { - ATM theATM = new ATM(); - theATM.run(); - - // det up System.in to provide input to the Keypad. - String input = "12345\n54321\n"; // User enters account number and PIN - InputStream in = new ByteArrayInputStream(input.getBytes()); - System.setIn(in); - // set up System.out to capture output from the Screen. - outContent = new ByteArrayOutputStream(); - System.setOut(new PrintStream(outContent)); - } - - @Test - public void ViewBalance() { - String input = "1"; // option to view balance - InputStream in = new ByteArrayInputStream(input.getBytes()); - System.setIn(in); - assertEquals(); - } - - @Test - public void Withdraw() { - String input = "2"; // option to withdraw - InputStream in = new ByteArrayInputStream(input.getBytes()); - System.setIn(in); - input = "1"; // withdraw 20 dollars; - in = new ByteArrayInputStream(input.getBytes()); - System.setIn(in); - assertEquals(); - } - - @Test - public void Deposit() { - String input = "3"; // option to deposit - InputStream in = new ByteArrayInputStream(input.getBytes()); - System.setIn(in); - input = "100"; // withdraw 1 dollar; - in = new ByteArrayInputStream(input.getBytes()); - System.setIn(in); - assertEquals(); - } -} \ No newline at end of file diff --git a/src/test/TestAccount.java b/src/test/TestAccount.java new file mode 100644 index 0000000..9cb8dad --- /dev/null +++ b/src/test/TestAccount.java @@ -0,0 +1,105 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.Account; +import code.Database.Euro; + +public class TestAccount { + Account account; + + @Before + public void setUp () { + account = new Account(12345,54321, new Euro(1000.0), new Euro(1200.0)); + } + + + // Test for validatePIN // + + @Test + public void validatePINTest () { + assertTrue( account.validatePIN( 54321 ) ); + } + + @Test + public void validatePINFailureTest () { + assertFalse( account.validatePIN( 123213 ) ); + } + + + // Test for getAvailableBalace // + + @Test + public void getAvailableBalanceTest () { + assertTrue( new Euro(1000).ugualeA(account.getAvailableBalance()) ); + } + + @Test + public void getAvailableBalanceFailureTest () { + assertFalse( new Euro(100).ugualeA(account.getAvailableBalance()) ); + } + + + // Test for getTotalBalance // + + @Test + public void getTotalBalanceTest () { + assertTrue( new Euro(1200).ugualeA(account.getTotalBalance()) ); + } + + @Test + public void getTotalBalanceFailureTest () { + assertFalse( new Euro(100).ugualeA(account.getTotalBalance()) ); + } + + + // Test for credit // + + @Test + public void testCredit () { + account.credit(new Euro(200)); + assertTrue(new Euro(1400).ugualeA(account.getTotalBalance())); + } + + @Test + public void testCreditNegative () { + account.credit(new Euro(-200)); + assertTrue(new Euro(1000).ugualeA(account.getTotalBalance())); + } + + + // Test for debit // + + @Test + public void testDebit () { + account.debit(new Euro(200)); + assertTrue(new Euro(800).ugualeA(account.getAvailableBalance())); + assertTrue(new Euro(1000).ugualeA(account.getTotalBalance())); + } + + @Test + public void testDebitNegative () { + account.debit(new Euro(2000)); + assertTrue(new Euro(-1000).ugualeA(account.getAvailableBalance())); + assertTrue(new Euro(-800).ugualeA(account.getTotalBalance())); + } + + + // Test for getAccountNumber // + + @Test + public void testGetAccountNumber () { + assertEquals(12345, account.getAccountNumber()); + } + + @Test + public void testGetAccountNumberFailure () { + assertNotEquals(123145, account.getAccountNumber()); + } + + + +} diff --git a/src/test/TestBankDatabase.java b/src/test/TestBankDatabase.java new file mode 100644 index 0000000..7091fc0 --- /dev/null +++ b/src/test/TestBankDatabase.java @@ -0,0 +1,124 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.BankDatabase; +import code.Database.Euro; + + +public class TestBankDatabase { + + BankDatabase database; + + @Before + public void setUp() { + database = new BankDatabase(); + } + + + // Tests for authenticateUser // + + @Test + public void authenticateUserTest1() { + assertTrue(database.authenticateUser(12345, 54321)); + } + + @Test + public void authenticateUserTest2() { + assertTrue(database.authenticateUser(98765, 56789)); + } + + @Test + public void authenticateUserFailureTest() { + assertFalse(database.authenticateUser(12712, 19922)); + } + + // Tests for getAvailableBalance // + + @Test + public void getAvailableBalanceTest1() { + assertEquals(100000, database.getAvailableBalance(12345).getValore()); + } + + @Test + public void getAvailableBalanceTest2() { + assertEquals(20000, database.getAvailableBalance(98765).getValore()); + } + + @Test + public void getAvailableBalanceFailureTest() { + assertThrows(java.lang.NullPointerException.class, () -> + database.getAvailableBalance(123213).getValore()); + } + + + // Tests for getTotalBalance // + + @Test + public void getTotalBalanceTest1() { + assertEquals(120000, database.getTotalBalance(12345).getValore()); + } + + @Test + public void getTotalBalanceTest2() { + assertEquals(20000, database.getTotalBalance(98765).getValore()); + } + + @Test + public void getTotalBalanceFailureTest() { + assertThrows(java.lang.NullPointerException.class, () -> + database.getTotalBalance(123213).getValore()); + } + + + // Tests for credit // + + @Test + public void creditTest1() { + Euro initialBalance = database.getTotalBalance(12345); + database.credit(12345, new Euro(200)); + assertTrue(initialBalance.somma(new Euro(200)).ugualeA(database.getTotalBalance(12345))); + } + + @Test + public void creditTest2() { + Euro initialBalance = database.getTotalBalance(98765); + database.credit(98765, new Euro(500)); + assertTrue(initialBalance.somma(new Euro(500)).ugualeA(database.getTotalBalance(98765))); + } + + // Ci aspettiamo che il saldo totale aumenti se l'importo da accreditare è negativo + @Test + public void creditFailureTest() { + Euro initialBalance = database.getTotalBalance(12345); + database.credit(12345, new Euro(-200)); + assertTrue(initialBalance.sottrai(new Euro(200)).ugualeA(database.getTotalBalance(12345))); + } + + // Tests for debit // + + @Test + public void debitTest1() { + Euro initialBalance = database.getAvailableBalance(12345); + database.debit(12345, new Euro(200)); + assertTrue(initialBalance.sottrai(new Euro(200)).ugualeA(database.getAvailableBalance(12345))); + } + + @Test + public void debitTest2() { + Euro initialBalance = database.getAvailableBalance(98765); + database.debit(98765, new Euro(500)); + assertTrue(initialBalance.sottrai(new Euro(500)).ugualeA(database.getAvailableBalance(98765))); + } + + // Ci aspettiamo che il saldo disponibile aumenti se l'importo da addebitare è negativo + @Test + public void debitFailureTest() { + Euro initialBalance = database.getAvailableBalance(12345); + database.debit(12345, new Euro(-200)); + assertTrue(initialBalance.somma(new Euro(200)).ugualeA(database.getAvailableBalance(12345))); + } +} \ No newline at end of file From cac1cbdf5e03ad1364b07ee2f0155917c590965a Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Mon, 27 Nov 2023 18:08:03 +0100 Subject: [PATCH 17/23] added last test cases --- src/code/Database/BankDatabase.java | 2 +- src/test/TestAccount.java | 28 ++++++----- src/test/TestBankDatabase.java | 55 +++++++++++++++------- src/test/TestEuro.java | 72 ++++++++++++++--------------- 4 files changed, 89 insertions(+), 68 deletions(-) diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index 7e02b97..8a5c7ac 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -15,7 +15,7 @@ public BankDatabase() } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number - private Account getAccount( int accountNumber ) + public Account getAccount( int accountNumber ) { // loop through accounts searching for matching account number for ( Account currentAccount : accounts ) diff --git a/src/test/TestAccount.java b/src/test/TestAccount.java index 9cb8dad..8665289 100644 --- a/src/test/TestAccount.java +++ b/src/test/TestAccount.java @@ -20,25 +20,25 @@ public void setUp () { // Test for validatePIN // @Test - public void validatePINTest () { + public void validatePINOKTest () { assertTrue( account.validatePIN( 54321 ) ); } @Test - public void validatePINFailureTest () { + public void validatePINFAILURETest () { assertFalse( account.validatePIN( 123213 ) ); } // Test for getAvailableBalace // - + @Test - public void getAvailableBalanceTest () { + public void getAvailableBalanceOKTest () { assertTrue( new Euro(1000).ugualeA(account.getAvailableBalance()) ); } @Test - public void getAvailableBalanceFailureTest () { + public void getAvailableBalanceFAILURETest () { assertFalse( new Euro(100).ugualeA(account.getAvailableBalance()) ); } @@ -46,12 +46,12 @@ public void getAvailableBalanceFailureTest () { // Test for getTotalBalance // @Test - public void getTotalBalanceTest () { + public void getTotalBalanceOKTest () { assertTrue( new Euro(1200).ugualeA(account.getTotalBalance()) ); } @Test - public void getTotalBalanceFailureTest () { + public void getTotalBalanceFAILURETest () { assertFalse( new Euro(100).ugualeA(account.getTotalBalance()) ); } @@ -59,13 +59,13 @@ public void getTotalBalanceFailureTest () { // Test for credit // @Test - public void testCredit () { + public void creditOKTest () { account.credit(new Euro(200)); assertTrue(new Euro(1400).ugualeA(account.getTotalBalance())); } @Test - public void testCreditNegative () { + public void CreditNegativeOKtest () { account.credit(new Euro(-200)); assertTrue(new Euro(1000).ugualeA(account.getTotalBalance())); } @@ -74,14 +74,14 @@ public void testCreditNegative () { // Test for debit // @Test - public void testDebit () { + public void debitOKTest () { account.debit(new Euro(200)); assertTrue(new Euro(800).ugualeA(account.getAvailableBalance())); assertTrue(new Euro(1000).ugualeA(account.getTotalBalance())); } @Test - public void testDebitNegative () { + public void debitNegativeOKTest () { account.debit(new Euro(2000)); assertTrue(new Euro(-1000).ugualeA(account.getAvailableBalance())); assertTrue(new Euro(-800).ugualeA(account.getTotalBalance())); @@ -91,15 +91,13 @@ public void testDebitNegative () { // Test for getAccountNumber // @Test - public void testGetAccountNumber () { + public void getAccountNumberOKTest () { assertEquals(12345, account.getAccountNumber()); } @Test - public void testGetAccountNumberFailure () { + public void GetAccountNumberFAILURETest () { assertNotEquals(123145, account.getAccountNumber()); } - - } diff --git a/src/test/TestBankDatabase.java b/src/test/TestBankDatabase.java index 7091fc0..8a3cb80 100644 --- a/src/test/TestBankDatabase.java +++ b/src/test/TestBankDatabase.java @@ -7,49 +7,72 @@ import code.Database.BankDatabase; import code.Database.Euro; - +import code.Database.Account; public class TestBankDatabase { BankDatabase database; + Account acc1; + Account acc2; + @Before public void setUp() { database = new BankDatabase(); } + // Tests for getAccount // + + @Test + public void getAccountOKTest1() { + acc1 = new Account(12345,54321, new Euro(1000.0), new Euro(1200.0)); + assertEquals(acc1.getAccountNumber(), database.getAccount(12345).getAccountNumber()); + } + + @Test + public void getAccountOKTest2() { + acc2 = new Account(98765,56789, new Euro(500.0), new Euro(520.0)); + assertEquals(acc2.getAccountNumber(), database.getAccount(98765).getAccountNumber()); + } + + @Test + public void getAccountFAILURETest() { + assertThrows(java.lang.NullPointerException.class, () -> + database.getAccount(123213).getAccountNumber()); + } + // Tests for authenticateUser // @Test - public void authenticateUserTest1() { + public void authenticateUserOKTest1() { assertTrue(database.authenticateUser(12345, 54321)); } @Test - public void authenticateUserTest2() { + public void authenticateUserOKTest2() { assertTrue(database.authenticateUser(98765, 56789)); } @Test - public void authenticateUserFailureTest() { + public void authenticateUserFAILURETest() { assertFalse(database.authenticateUser(12712, 19922)); } // Tests for getAvailableBalance // @Test - public void getAvailableBalanceTest1() { + public void getAvailableBalanceOKTest1() { assertEquals(100000, database.getAvailableBalance(12345).getValore()); } @Test - public void getAvailableBalanceTest2() { + public void getAvailableBalanceOKTest2() { assertEquals(20000, database.getAvailableBalance(98765).getValore()); } @Test - public void getAvailableBalanceFailureTest() { + public void getAvailableBalanceFAILURETest() { assertThrows(java.lang.NullPointerException.class, () -> database.getAvailableBalance(123213).getValore()); } @@ -58,17 +81,17 @@ public void getAvailableBalanceFailureTest() { // Tests for getTotalBalance // @Test - public void getTotalBalanceTest1() { + public void getTotalBalanceOKTest1() { assertEquals(120000, database.getTotalBalance(12345).getValore()); } @Test - public void getTotalBalanceTest2() { + public void getTotalBalanceOKTest2() { assertEquals(20000, database.getTotalBalance(98765).getValore()); } @Test - public void getTotalBalanceFailureTest() { + public void getTotalBalanceFAILURETest() { assertThrows(java.lang.NullPointerException.class, () -> database.getTotalBalance(123213).getValore()); } @@ -77,14 +100,14 @@ public void getTotalBalanceFailureTest() { // Tests for credit // @Test - public void creditTest1() { + public void creditOKTest1() { Euro initialBalance = database.getTotalBalance(12345); database.credit(12345, new Euro(200)); assertTrue(initialBalance.somma(new Euro(200)).ugualeA(database.getTotalBalance(12345))); } @Test - public void creditTest2() { + public void creditOKTest2() { Euro initialBalance = database.getTotalBalance(98765); database.credit(98765, new Euro(500)); assertTrue(initialBalance.somma(new Euro(500)).ugualeA(database.getTotalBalance(98765))); @@ -92,7 +115,7 @@ public void creditTest2() { // Ci aspettiamo che il saldo totale aumenti se l'importo da accreditare è negativo @Test - public void creditFailureTest() { + public void creditFAILURETest() { Euro initialBalance = database.getTotalBalance(12345); database.credit(12345, new Euro(-200)); assertTrue(initialBalance.sottrai(new Euro(200)).ugualeA(database.getTotalBalance(12345))); @@ -101,14 +124,14 @@ public void creditFailureTest() { // Tests for debit // @Test - public void debitTest1() { + public void debitOKTest1() { Euro initialBalance = database.getAvailableBalance(12345); database.debit(12345, new Euro(200)); assertTrue(initialBalance.sottrai(new Euro(200)).ugualeA(database.getAvailableBalance(12345))); } @Test - public void debitTest2() { + public void debitOKTest2() { Euro initialBalance = database.getAvailableBalance(98765); database.debit(98765, new Euro(500)); assertTrue(initialBalance.sottrai(new Euro(500)).ugualeA(database.getAvailableBalance(98765))); @@ -116,7 +139,7 @@ public void debitTest2() { // Ci aspettiamo che il saldo disponibile aumenti se l'importo da addebitare è negativo @Test - public void debitFailureTest() { + public void debitFAILURETest() { Euro initialBalance = database.getAvailableBalance(12345); database.debit(12345, new Euro(-200)); assertTrue(initialBalance.somma(new Euro(200)).ugualeA(database.getAvailableBalance(12345))); diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java index 9816623..26907a2 100644 --- a/src/test/TestEuro.java +++ b/src/test/TestEuro.java @@ -45,37 +45,37 @@ public void setUp() { // Tests for initialize Euro // @Test - public void testInitOneArgument() { + public void InitOneArgumentOKTest() { assertEquals(3500, value1.getValore()); } @Test - public void testInitDoubleValue() { + public void InitDoubleValueOKTest() { assertEquals(4275, doubleValue.getValore()); } @Test - public void testInitNegativeDoubleValue() { + public void InitNegativeDoubleValueOKTest() { assertEquals(-1233, negativeDoubleValue1.getValore()); } @Test - public void testInitTwoArguments() { + public void InitTwoArgumentsOKTest() { assertEquals(2510, value3.getValore()); } @Test - public void testInitNegativeEuro() { + public void InitNegativeEuroOKTest() { assertEquals(-5030, negativeEuroT.getValore()); } @Test - public void testInitNegativeCent() { + public void InitNegativeCentOKTest() { assertEquals(4970, negativeCentT.getValore()); } @Test - public void testInitNegativeEuroAndCent() { + public void InitNegativeEuroAndCentOKTest() { assertEquals(-4970, negativeEuroAndCentT.getValore()); } @@ -83,57 +83,57 @@ public void testInitNegativeEuroAndCent() { // Tests for sum // @Test - public void testSommaOneArgumentBothPositive() { + public void SommaOneArgumentBothPositiveOKTest() { Euro result = value1.somma(value2); assertEquals(5000, result.getValore()); } @Test - public void testSommaOneArgumentOneNegative() { + public void SommaOneArgumentOneNegativeOKTest() { Euro result = value1.somma(negativeValue1); assertEquals(2400, result.getValore()); } @Test - public void testSommaOneArgumentBothNegative() { + public void SommaOneArgumentBothNegativeOKTest() { Euro result = negativeValue1.somma(negativeValue2); assertEquals(-4400, result.getValore()); } @Test - public void testSommaOneArgumentOneNegativeDouble() { + public void SommaOneArgumentOneNegativeDoubleOKTest() { Euro result = negativeDoubleValue1.somma(value1); assertEquals(2267, result.getValore()); } @Test - public void testSommaOneArgumentBothNegativeDouble(){ + public void SommaOneArgumentBothNegativeDoubleOKTest(){ Euro result = negativeDoubleValue1.somma(negativeDoubleValue2); assertEquals(-3685, result.getValore()); } @Test - public void testSommaTwoArgumentsBothPositive() { + public void SommaTwoArgumentsBothPositiveOKTest() { Euro result = value3.somma(value4); assertEquals(9764, result.getValore()); } @Test - public void testSommaTwoArgumentsOneNegative() { + public void SommaTwoArgumentsOneNegativeOKTest() { Euro result = value3.somma(negativeEuroT); assertEquals(-2520, result.getValore()); } @Test - public void testSommaTwoArgumentBothNegative() { + public void SommaTwoArgumentBothNegativeOKTest() { Euro result = negativeEuroT.somma(negativeCentT); assertEquals(-60, result.getValore()); } @Test - public void testSommaMixedArguments() { + public void SommaMixedArgumentsOKTest() { Euro result = value1.somma(value3); assertEquals(6010, result.getValore()); } @@ -144,57 +144,57 @@ public void testSommaMixedArguments() { // Tests for sub // @Test - public void testSottraiOneArgumentBothPositive() { + public void SottraiOneArgumentBothPositiveOKTest() { Euro result = value1.sottrai(value2); assertEquals(2000, result.getValore()); } @Test - public void testSottraiOneArgumentOneNegative() { + public void SottraiOneArgumentOneNegativeOKTest() { Euro result = value1.sottrai(negativeValue1); assertEquals(4600, result.getValore()); } @Test - public void testSottraiOneArgumentBothNegative() { + public void SottraiOneArgumentBothNegativeOKTest() { Euro result = negativeValue1.sottrai(negativeValue2); assertEquals(2200, result.getValore()); } @Test - public void testSottraiOneArgumentOneNegativeDouble() { + public void SottraiOneArgumentOneNegativeDoubleOKTest() { Euro result = negativeDoubleValue1.sottrai(value1); assertEquals(-4733, result.getValore()); } @Test - public void testSottraiOneArgumentBothNegativeDouble(){ + public void SottraiOneArgumentBothNegativeDoubleOKTest(){ Euro result = negativeDoubleValue1.sottrai(negativeDoubleValue2); assertEquals(1219, result.getValore()); } @Test - public void testSottraiTwoArgumentsBothPositive() { + public void SottraiTwoArgumentsBothPositiveOKTest() { Euro result = value3.sottrai(value4); assertEquals(-4744, result.getValore()); } @Test - public void testSottraiTwoArgumentsOneNegative() { + public void SottraiTwoArgumentsOneNegativeOKTest() { Euro result = value3.sottrai(negativeEuroT); assertEquals(7540, result.getValore()); } @Test - public void testSottraiTwoArgumentBothNegative() { + public void SottraiTwoArgumentBothNegativeOKTest() { Euro result = negativeEuroT.sottrai(negativeCentT); assertEquals(-10000, result.getValore()); } @Test - public void testSottraiMixedArguments() { + public void SottraiMixedArgumentsOKTest() { Euro result = value1.sottrai(value3); assertEquals(990, result.getValore()); } @@ -204,12 +204,12 @@ public void testSottraiMixedArguments() { // Tests EqualsTo // @Test - public void testUgualeA1() { + public void UgualeA1OKTest() { assertTrue(value1.ugualeA(new Euro (35, 0))); } @Test - public void testUgualeA2() { + public void UgualeA2OKTest() { Euro val1 = new Euro(10); Euro val2 = new Euro(5); Euro result = val1.somma(val2); @@ -217,7 +217,7 @@ public void testUgualeA2() { } @Test - public void testNotUgualeA() { + public void NotUgualeAFAILURETest() { assertFalse(value4.ugualeA(negativeDoubleValue1)); } @@ -225,17 +225,17 @@ public void testNotUgualeA() { // Tests LessThan // @Test - public void testMinoreDi1() { + public void MinoreDi1OKTest() { assertTrue(value2.minoreDi(value1)); } @Test - public void testMinoreDi2() { + public void MinoreDi2OKTest() { assertTrue(doubleValue.minoreDi(new Euro(60))); } @Test - public void testMinoreDi3() { + public void MinoreDi3FAILURETest() { assertFalse(negativeDoubleValue1.minoreDi(negativeDoubleValue2)); } @@ -243,27 +243,27 @@ public void testMinoreDi3() { // Tests Print // @Test - public void testStampaOneArgument1() { + public void StampaOneArgument1OKTest() { assertEquals("35.0 euro", value1.stampa()); } @Test - public void testStampaOneArgument2() { + public void StampaOneArgument2OKTest() { assertEquals("15.0 euro", value2.stampa()); } @Test - public void testStampaTwoArguments1() { + public void StampaTwoArguments1OKTest() { assertEquals("25.1 euro", value3.stampa()); } @Test - public void testStampaTwoArguments2() { + public void StampaTwoArguments2OKTest() { assertEquals("72.54 euro", value4.stampa()); } @Test - public void testStampaFalse() { + public void StampaFalseOKTest() { assertNotEquals("128.44 euro", negativeDoubleValue1.stampa()); } } \ No newline at end of file From 4282279f6fc96985d22ad362385202a841912cd6 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 28 Nov 2023 12:42:48 +0100 Subject: [PATCH 18/23] added componenti.txt final commit --- componenti.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 componenti.txt diff --git a/componenti.txt b/componenti.txt new file mode 100644 index 0000000..c9f06a5 --- /dev/null +++ b/componenti.txt @@ -0,0 +1,2 @@ +Thomas Ghione 5254284 +Simone Tomasella 5311626 \ No newline at end of file From 15e96e953ceaba5ca6cdf8273d2ed706dc0a7b66 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 28 Nov 2023 13:09:22 +0100 Subject: [PATCH 19/23] Fixed Merge Conflict in local repo --- src/code/Business_Logic/ATMCaseStudy.java | 5 +- src/code/Business_Logic/CashDispenser.java | 1 - src/code/Business_Logic/DepositSlot.java | 1 - src/code/Business_Logic/Transaction.java | 7 +- src/code/Database/Account.java | 21 +- src/code/Database/BankDatabase.java | 15 +- src/code/Database/Euro.java | 48 ++++ src/code/GUI/ATM.java | 5 +- src/code/GUI/BalanceInquiry.java | 10 +- src/code/GUI/Deposit.java | 16 +- src/code/GUI/Keypad.java | 1 - src/code/GUI/Screen.java | 7 +- src/code/GUI/Withdrawal.java | 12 +- src/test/TestAccount.java | 103 ++++++++ src/test/TestBankDatabase.java | 147 +++++++++++ src/test/TestEuro.java | 269 +++++++++++++++++++++ 16 files changed, 614 insertions(+), 54 deletions(-) create mode 100644 src/code/Database/Euro.java create mode 100644 src/test/TestAccount.java create mode 100644 src/test/TestBankDatabase.java create mode 100644 src/test/TestEuro.java diff --git a/src/code/Business_Logic/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java index 05e93b5..f5f05a5 100644 --- a/src/code/Business_Logic/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -1,10 +1,9 @@ package code.Business_Logic; - -import code.GUI.ATM; - // ATMCaseStudy.java // Driver program for the ATM case study +import code.GUI.ATM; + public class ATMCaseStudy { // main method creates and runs the ATM diff --git a/src/code/Business_Logic/CashDispenser.java b/src/code/Business_Logic/CashDispenser.java index a6aa4ca..ce7614b 100644 --- a/src/code/Business_Logic/CashDispenser.java +++ b/src/code/Business_Logic/CashDispenser.java @@ -1,5 +1,4 @@ package code.Business_Logic; - // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/code/Business_Logic/DepositSlot.java b/src/code/Business_Logic/DepositSlot.java index 123cbaa..ed3addf 100644 --- a/src/code/Business_Logic/DepositSlot.java +++ b/src/code/Business_Logic/DepositSlot.java @@ -1,5 +1,4 @@ package code.Business_Logic; - // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/code/Business_Logic/Transaction.java b/src/code/Business_Logic/Transaction.java index 3b09179..056734a 100644 --- a/src/code/Business_Logic/Transaction.java +++ b/src/code/Business_Logic/Transaction.java @@ -1,11 +1,10 @@ package code.Business_Logic; - -import code.GUI.Screen; -import code.Database.BankDatabase; - // Transaction.java // Abstract superclass Transaction represents an ATM transaction +import code.Database.BankDatabase; +import code.GUI.Screen; + public abstract class Transaction { private int accountNumber; // indicates account involved diff --git a/src/code/Database/Account.java b/src/code/Database/Account.java index 35f373f..e6fbc3c 100644 --- a/src/code/Database/Account.java +++ b/src/code/Database/Account.java @@ -1,5 +1,4 @@ package code.Database; - // Account.java // Represents a bank account @@ -7,12 +6,12 @@ public class Account { private int accountNumber; // account number private int pin; // PIN for authentication - private double availableBalance; // funds available for withdrawal - private double totalBalance; // funds available + pending deposits + private Euro availableBalance; // funds available for withdrawal + private Euro totalBalance; // funds available + pending deposits // Account constructor initializes attributes public Account( int theAccountNumber, int thePIN, - double theAvailableBalance, double theTotalBalance ) + Euro theAvailableBalance, Euro theTotalBalance ) { accountNumber = theAccountNumber; pin = thePIN; @@ -30,28 +29,28 @@ public boolean validatePIN( int userPIN ) } // end method validatePIN // returns available balance - public double getAvailableBalance() + public Euro getAvailableBalance() { return availableBalance; } // end getAvailableBalance // returns the total balance - public double getTotalBalance() + public Euro getTotalBalance() { return totalBalance; } // end method getTotalBalance // credits an amount to the account - public void credit( double amount ) + public void credit( Euro amount ) { - totalBalance += amount; // add to total balance + totalBalance.somma(amount); // add to total balance } // end method credit // debits an amount from the account - public void debit( double amount ) + public void debit( Euro amount ) { - availableBalance -= amount; // subtract from available balance - totalBalance -= amount; // subtract from total balance + availableBalance.sottrai(amount); // subtract from available balance + totalBalance.sottrai(amount); // subtract from total balance } // end method debit // returns account number diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index 5d078b2..8a5c7ac 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,5 +1,4 @@ package code.Database; - // BankDatabase.java // Represents the bank account information database @@ -11,12 +10,12 @@ public class BankDatabase public BankDatabase() { accounts = new Account[ 2 ]; // just 2 accounts for testing - accounts[ 0 ] = new Account( 12345, 54321, 1000.0, 1200.0 ); - accounts[ 1 ] = new Account( 98765, 56789, 200.0, 200.0 ); + accounts[ 0 ] = new Account( 12345, 54321, new Euro(1000.0), new Euro(1200.0 ) ); + accounts[ 1 ] = new Account( 98765, 56789, new Euro(200.0), new Euro(200.0 ) ); } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number - private Account getAccount( int accountNumber ) + public Account getAccount( int accountNumber ) { // loop through accounts searching for matching account number for ( Account currentAccount : accounts ) @@ -44,25 +43,25 @@ public boolean authenticateUser( int userAccountNumber, int userPIN ) } // end method authenticateUser // return available balance of Account with specified account number - public double getAvailableBalance( int userAccountNumber ) + public Euro getAvailableBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getAvailableBalance(); } // end method getAvailableBalance // return total balance of Account with specified account number - public double getTotalBalance( int userAccountNumber ) + public Euro getTotalBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getTotalBalance(); } // end method getTotalBalance // credit an amount to Account with specified account number - public void credit( int userAccountNumber, double amount ) + public void credit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).credit( amount ); } // end method credit // debit an amount from of Account with specified account number - public void debit( int userAccountNumber, double amount ) + public void debit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).debit( amount ); } // end method debit diff --git a/src/code/Database/Euro.java b/src/code/Database/Euro.java new file mode 100644 index 0000000..869b952 --- /dev/null +++ b/src/code/Database/Euro.java @@ -0,0 +1,48 @@ +package code.Database; + +public class Euro { + + private long valore; + + public Euro(long euro, long cent) { + if (euro >= 0) { + valore = euro*100 + cent; + } else { + valore = euro*100 - cent; + } + } + + public Euro(double d) { + valore = (long)(d*100); + } + + public long getValore() { + return valore; + } + + public Euro somma(Euro e) { + this.valore = this.valore + e.getValore(); + return this; + } + + public Euro sottrai(Euro e) { + this.valore = this.valore - e.getValore(); + return this; + } + + public boolean ugualeA(Euro e){ + if (valore == e.getValore()) + return true; + else return false; + } + + public boolean minoreDi(Euro e){ + if (valore <= e.getValore()) + return true; + else return false; + } + + public String stampa(){ + return (double)valore/100 +" euro"; + } +} diff --git a/src/code/GUI/ATM.java b/src/code/GUI/ATM.java index 7067eb1..7e4ea9e 100644 --- a/src/code/GUI/ATM.java +++ b/src/code/GUI/ATM.java @@ -1,13 +1,12 @@ package code.GUI; +// ATM.java +// Represents an automated teller machine import code.Business_Logic.CashDispenser; import code.Business_Logic.DepositSlot; import code.Business_Logic.Transaction; import code.Database.BankDatabase; -// ATM.java -// Represents an automated teller machine - public class ATM { private boolean userAuthenticated; // whether user is authenticated diff --git a/src/code/GUI/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java index ab64df8..fc5da7c 100644 --- a/src/code/GUI/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -1,10 +1,10 @@ package code.GUI; +// BalanceInquiry.java +// Represents a balance inquiry ATM transaction import code.Business_Logic.Transaction; import code.Database.BankDatabase; - -// BalanceInquiry.java -// Represents a balance inquiry ATM transaction +import code.Database.Euro; public class BalanceInquiry extends Transaction { @@ -23,11 +23,11 @@ public void execute() Screen screen = getScreen(); // get the available balance for the account involved - double availableBalance = + Euro availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // get the total balance for the account involved - double totalBalance = + Euro totalBalance = bankDatabase.getTotalBalance( getAccountNumber() ); // display the balance information on the screen diff --git a/src/code/GUI/Deposit.java b/src/code/GUI/Deposit.java index a684129..29f756a 100644 --- a/src/code/GUI/Deposit.java +++ b/src/code/GUI/Deposit.java @@ -1,15 +1,15 @@ package code.GUI; +// Deposit.java +// Represents a deposit ATM transaction import code.Business_Logic.DepositSlot; import code.Business_Logic.Transaction; import code.Database.BankDatabase; - -// Deposit.java -// Represents a deposit ATM transaction +import code.Database.Euro; public class Deposit extends Transaction { - private double amount; // amount to deposit + private Euro amount; // amount to deposit private Keypad keypad; // reference to keypad private DepositSlot depositSlot; // reference to deposit slot private final static int CANCELED = 0; // constant for cancel option @@ -36,7 +36,7 @@ public void execute() amount = promptForDepositAmount(); // get deposit amount from user // check whether user entered a deposit amount or canceled - if ( amount != CANCELED ) + if ( amount.getValore() != CANCELED ) { // request deposit envelope containing specified amount screen.displayMessage( @@ -71,7 +71,7 @@ public void execute() } // end method execute // prompt user to enter a deposit amount in cents - private double promptForDepositAmount() + private Euro promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen @@ -82,10 +82,10 @@ private double promptForDepositAmount() // check whether the user canceled or entered a valid amount if ( input == CANCELED ) - return CANCELED; + return new Euro(0); else { - return ( double ) input / 100; // return dollar amount + return new Euro(input / 100); // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/code/GUI/Keypad.java b/src/code/GUI/Keypad.java index d140a84..f0f716c 100644 --- a/src/code/GUI/Keypad.java +++ b/src/code/GUI/Keypad.java @@ -1,5 +1,4 @@ package code.GUI; - // Keypad.java // Represents the keypad of the ATM import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index 64535fd..404dab9 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,8 +1,9 @@ package code.GUI; - // Screen.java // Represents the screen of the ATM +import code.Database.Euro; + public class Screen { // displays a message without a carriage return @@ -18,9 +19,9 @@ public void displayMessageLine( String message ) } // end method displayMessageLine // display a dollar amount - public void displayDollarAmount( double amount ) + public void displayDollarAmount( Euro amount ) { - System.out.printf( "$%,.2f", amount ); + System.out.printf( amount.stampa() ); } // end method displayDollarAmount } // end class Screen diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index 68334f6..fe2dddf 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -1,11 +1,11 @@ package code.GUI; +// Withdrawal.java +// Represents a withdrawal ATM transaction import code.Business_Logic.CashDispenser; import code.Business_Logic.Transaction; import code.Database.BankDatabase; - -// Withdrawal.java -// Represents a withdrawal ATM transaction +import code.Database.Euro; public class Withdrawal extends Transaction { @@ -33,7 +33,7 @@ public Withdrawal( int userAccountNumber, Screen atmScreen, public void execute() { boolean cashDispensed = false; // cash was not dispensed yet - double availableBalance; // amount available for withdrawal + Euro availableBalance; // amount available for withdrawal // get references to bank database and screen BankDatabase bankDatabase = getBankDatabase(); @@ -53,13 +53,13 @@ public void execute() bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount <= availableBalance ) + if ( amount <= availableBalance.getValore() ) { // check whether the cash dispenser has enough money if ( cashDispenser.isSufficientCashAvailable( amount ) ) { // update the account involved to reflect withdrawal - bankDatabase.debit( getAccountNumber(), amount ); + bankDatabase.debit( getAccountNumber(), new Euro(amount) ); cashDispenser.dispenseCash( amount ); // dispense cash cashDispensed = true; // cash was dispensed diff --git a/src/test/TestAccount.java b/src/test/TestAccount.java new file mode 100644 index 0000000..8665289 --- /dev/null +++ b/src/test/TestAccount.java @@ -0,0 +1,103 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.Account; +import code.Database.Euro; + +public class TestAccount { + Account account; + + @Before + public void setUp () { + account = new Account(12345,54321, new Euro(1000.0), new Euro(1200.0)); + } + + + // Test for validatePIN // + + @Test + public void validatePINOKTest () { + assertTrue( account.validatePIN( 54321 ) ); + } + + @Test + public void validatePINFAILURETest () { + assertFalse( account.validatePIN( 123213 ) ); + } + + + // Test for getAvailableBalace // + + @Test + public void getAvailableBalanceOKTest () { + assertTrue( new Euro(1000).ugualeA(account.getAvailableBalance()) ); + } + + @Test + public void getAvailableBalanceFAILURETest () { + assertFalse( new Euro(100).ugualeA(account.getAvailableBalance()) ); + } + + + // Test for getTotalBalance // + + @Test + public void getTotalBalanceOKTest () { + assertTrue( new Euro(1200).ugualeA(account.getTotalBalance()) ); + } + + @Test + public void getTotalBalanceFAILURETest () { + assertFalse( new Euro(100).ugualeA(account.getTotalBalance()) ); + } + + + // Test for credit // + + @Test + public void creditOKTest () { + account.credit(new Euro(200)); + assertTrue(new Euro(1400).ugualeA(account.getTotalBalance())); + } + + @Test + public void CreditNegativeOKtest () { + account.credit(new Euro(-200)); + assertTrue(new Euro(1000).ugualeA(account.getTotalBalance())); + } + + + // Test for debit // + + @Test + public void debitOKTest () { + account.debit(new Euro(200)); + assertTrue(new Euro(800).ugualeA(account.getAvailableBalance())); + assertTrue(new Euro(1000).ugualeA(account.getTotalBalance())); + } + + @Test + public void debitNegativeOKTest () { + account.debit(new Euro(2000)); + assertTrue(new Euro(-1000).ugualeA(account.getAvailableBalance())); + assertTrue(new Euro(-800).ugualeA(account.getTotalBalance())); + } + + + // Test for getAccountNumber // + + @Test + public void getAccountNumberOKTest () { + assertEquals(12345, account.getAccountNumber()); + } + + @Test + public void GetAccountNumberFAILURETest () { + assertNotEquals(123145, account.getAccountNumber()); + } + +} diff --git a/src/test/TestBankDatabase.java b/src/test/TestBankDatabase.java new file mode 100644 index 0000000..8a3cb80 --- /dev/null +++ b/src/test/TestBankDatabase.java @@ -0,0 +1,147 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.BankDatabase; +import code.Database.Euro; +import code.Database.Account; + +public class TestBankDatabase { + + BankDatabase database; + Account acc1; + Account acc2; + + + @Before + public void setUp() { + database = new BankDatabase(); + } + + // Tests for getAccount // + + @Test + public void getAccountOKTest1() { + acc1 = new Account(12345,54321, new Euro(1000.0), new Euro(1200.0)); + assertEquals(acc1.getAccountNumber(), database.getAccount(12345).getAccountNumber()); + } + + @Test + public void getAccountOKTest2() { + acc2 = new Account(98765,56789, new Euro(500.0), new Euro(520.0)); + assertEquals(acc2.getAccountNumber(), database.getAccount(98765).getAccountNumber()); + } + + @Test + public void getAccountFAILURETest() { + assertThrows(java.lang.NullPointerException.class, () -> + database.getAccount(123213).getAccountNumber()); + } + + + // Tests for authenticateUser // + + @Test + public void authenticateUserOKTest1() { + assertTrue(database.authenticateUser(12345, 54321)); + } + + @Test + public void authenticateUserOKTest2() { + assertTrue(database.authenticateUser(98765, 56789)); + } + + @Test + public void authenticateUserFAILURETest() { + assertFalse(database.authenticateUser(12712, 19922)); + } + + // Tests for getAvailableBalance // + + @Test + public void getAvailableBalanceOKTest1() { + assertEquals(100000, database.getAvailableBalance(12345).getValore()); + } + + @Test + public void getAvailableBalanceOKTest2() { + assertEquals(20000, database.getAvailableBalance(98765).getValore()); + } + + @Test + public void getAvailableBalanceFAILURETest() { + assertThrows(java.lang.NullPointerException.class, () -> + database.getAvailableBalance(123213).getValore()); + } + + + // Tests for getTotalBalance // + + @Test + public void getTotalBalanceOKTest1() { + assertEquals(120000, database.getTotalBalance(12345).getValore()); + } + + @Test + public void getTotalBalanceOKTest2() { + assertEquals(20000, database.getTotalBalance(98765).getValore()); + } + + @Test + public void getTotalBalanceFAILURETest() { + assertThrows(java.lang.NullPointerException.class, () -> + database.getTotalBalance(123213).getValore()); + } + + + // Tests for credit // + + @Test + public void creditOKTest1() { + Euro initialBalance = database.getTotalBalance(12345); + database.credit(12345, new Euro(200)); + assertTrue(initialBalance.somma(new Euro(200)).ugualeA(database.getTotalBalance(12345))); + } + + @Test + public void creditOKTest2() { + Euro initialBalance = database.getTotalBalance(98765); + database.credit(98765, new Euro(500)); + assertTrue(initialBalance.somma(new Euro(500)).ugualeA(database.getTotalBalance(98765))); + } + + // Ci aspettiamo che il saldo totale aumenti se l'importo da accreditare è negativo + @Test + public void creditFAILURETest() { + Euro initialBalance = database.getTotalBalance(12345); + database.credit(12345, new Euro(-200)); + assertTrue(initialBalance.sottrai(new Euro(200)).ugualeA(database.getTotalBalance(12345))); + } + + // Tests for debit // + + @Test + public void debitOKTest1() { + Euro initialBalance = database.getAvailableBalance(12345); + database.debit(12345, new Euro(200)); + assertTrue(initialBalance.sottrai(new Euro(200)).ugualeA(database.getAvailableBalance(12345))); + } + + @Test + public void debitOKTest2() { + Euro initialBalance = database.getAvailableBalance(98765); + database.debit(98765, new Euro(500)); + assertTrue(initialBalance.sottrai(new Euro(500)).ugualeA(database.getAvailableBalance(98765))); + } + + // Ci aspettiamo che il saldo disponibile aumenti se l'importo da addebitare è negativo + @Test + public void debitFAILURETest() { + Euro initialBalance = database.getAvailableBalance(12345); + database.debit(12345, new Euro(-200)); + assertTrue(initialBalance.somma(new Euro(200)).ugualeA(database.getAvailableBalance(12345))); + } +} \ No newline at end of file diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java new file mode 100644 index 0000000..26907a2 --- /dev/null +++ b/src/test/TestEuro.java @@ -0,0 +1,269 @@ +package test; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; + +import code.Database.Euro; + +public class TestEuro { + + // Single argument (Double Values) + Euro value1; + Euro value2; + Euro negativeValue1; + Euro negativeValue2; + Euro doubleValue; + Euro negativeDoubleValue1; + Euro negativeDoubleValue2; + + // Two arguments (long euro, long cent) + Euro value3; + Euro value4; + Euro negativeEuroT; + Euro negativeCentT; + Euro negativeEuroAndCentT; + + @Before + public void setUp() { + value1 = new Euro(35); + value2 = new Euro(15); + negativeValue1 = new Euro(-11); + negativeValue2 = new Euro(-33); + doubleValue = new Euro(42.75); + negativeDoubleValue1 = new Euro(-12.33); + negativeDoubleValue2 = new Euro(-24.52); + + value3 = new Euro(25, 10); + value4 = new Euro(72, 54); + negativeEuroT = new Euro(-50,30); + negativeCentT = new Euro(50, -30); + negativeEuroAndCentT = new Euro(-50, -30); + } + + + // Tests for initialize Euro // + @Test + public void InitOneArgumentOKTest() { + assertEquals(3500, value1.getValore()); + } + + @Test + public void InitDoubleValueOKTest() { + assertEquals(4275, doubleValue.getValore()); + } + + @Test + public void InitNegativeDoubleValueOKTest() { + assertEquals(-1233, negativeDoubleValue1.getValore()); + } + + @Test + public void InitTwoArgumentsOKTest() { + assertEquals(2510, value3.getValore()); + } + + @Test + public void InitNegativeEuroOKTest() { + assertEquals(-5030, negativeEuroT.getValore()); + } + + @Test + public void InitNegativeCentOKTest() { + assertEquals(4970, negativeCentT.getValore()); + } + + @Test + public void InitNegativeEuroAndCentOKTest() { + assertEquals(-4970, negativeEuroAndCentT.getValore()); + } + + + + // Tests for sum // + @Test + public void SommaOneArgumentBothPositiveOKTest() { + Euro result = value1.somma(value2); + assertEquals(5000, result.getValore()); + } + + @Test + public void SommaOneArgumentOneNegativeOKTest() { + Euro result = value1.somma(negativeValue1); + assertEquals(2400, result.getValore()); + } + + @Test + public void SommaOneArgumentBothNegativeOKTest() { + Euro result = negativeValue1.somma(negativeValue2); + assertEquals(-4400, result.getValore()); + } + + @Test + public void SommaOneArgumentOneNegativeDoubleOKTest() { + Euro result = negativeDoubleValue1.somma(value1); + assertEquals(2267, result.getValore()); + } + + @Test + public void SommaOneArgumentBothNegativeDoubleOKTest(){ + Euro result = negativeDoubleValue1.somma(negativeDoubleValue2); + assertEquals(-3685, result.getValore()); + } + + + @Test + public void SommaTwoArgumentsBothPositiveOKTest() { + Euro result = value3.somma(value4); + assertEquals(9764, result.getValore()); + } + + @Test + public void SommaTwoArgumentsOneNegativeOKTest() { + Euro result = value3.somma(negativeEuroT); + assertEquals(-2520, result.getValore()); + } + + @Test + public void SommaTwoArgumentBothNegativeOKTest() { + Euro result = negativeEuroT.somma(negativeCentT); + assertEquals(-60, result.getValore()); + } + + + @Test + public void SommaMixedArgumentsOKTest() { + Euro result = value1.somma(value3); + assertEquals(6010, result.getValore()); + } + + + + + // Tests for sub // + + @Test + public void SottraiOneArgumentBothPositiveOKTest() { + Euro result = value1.sottrai(value2); + assertEquals(2000, result.getValore()); + } + + @Test + public void SottraiOneArgumentOneNegativeOKTest() { + Euro result = value1.sottrai(negativeValue1); + assertEquals(4600, result.getValore()); + } + + @Test + public void SottraiOneArgumentBothNegativeOKTest() { + Euro result = negativeValue1.sottrai(negativeValue2); + assertEquals(2200, result.getValore()); + } + + @Test + public void SottraiOneArgumentOneNegativeDoubleOKTest() { + Euro result = negativeDoubleValue1.sottrai(value1); + assertEquals(-4733, result.getValore()); + } + + @Test + public void SottraiOneArgumentBothNegativeDoubleOKTest(){ + Euro result = negativeDoubleValue1.sottrai(negativeDoubleValue2); + assertEquals(1219, result.getValore()); + } + + + @Test + public void SottraiTwoArgumentsBothPositiveOKTest() { + Euro result = value3.sottrai(value4); + assertEquals(-4744, result.getValore()); + } + + @Test + public void SottraiTwoArgumentsOneNegativeOKTest() { + Euro result = value3.sottrai(negativeEuroT); + assertEquals(7540, result.getValore()); + } + + @Test + public void SottraiTwoArgumentBothNegativeOKTest() { + Euro result = negativeEuroT.sottrai(negativeCentT); + assertEquals(-10000, result.getValore()); + } + + + @Test + public void SottraiMixedArgumentsOKTest() { + Euro result = value1.sottrai(value3); + assertEquals(990, result.getValore()); + } + + + + // Tests EqualsTo // + + @Test + public void UgualeA1OKTest() { + assertTrue(value1.ugualeA(new Euro (35, 0))); + } + + @Test + public void UgualeA2OKTest() { + Euro val1 = new Euro(10); + Euro val2 = new Euro(5); + Euro result = val1.somma(val2); + assertTrue(value2.ugualeA(result)); + } + + @Test + public void NotUgualeAFAILURETest() { + assertFalse(value4.ugualeA(negativeDoubleValue1)); + } + + + // Tests LessThan // + + @Test + public void MinoreDi1OKTest() { + assertTrue(value2.minoreDi(value1)); + } + + @Test + public void MinoreDi2OKTest() { + assertTrue(doubleValue.minoreDi(new Euro(60))); + } + + @Test + public void MinoreDi3FAILURETest() { + assertFalse(negativeDoubleValue1.minoreDi(negativeDoubleValue2)); + } + + + // Tests Print // + + @Test + public void StampaOneArgument1OKTest() { + assertEquals("35.0 euro", value1.stampa()); + } + + @Test + public void StampaOneArgument2OKTest() { + assertEquals("15.0 euro", value2.stampa()); + } + + @Test + public void StampaTwoArguments1OKTest() { + assertEquals("25.1 euro", value3.stampa()); + } + + @Test + public void StampaTwoArguments2OKTest() { + assertEquals("72.54 euro", value4.stampa()); + } + + @Test + public void StampaFalseOKTest() { + assertNotEquals("128.44 euro", negativeDoubleValue1.stampa()); + } +} \ No newline at end of file From 992a8fd675559d870726200acc39394fe87097fd Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 28 Nov 2023 13:09:49 +0100 Subject: [PATCH 20/23] Added File componenti.txt --- componenti.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 componenti.txt diff --git a/componenti.txt b/componenti.txt new file mode 100644 index 0000000..c9f06a5 --- /dev/null +++ b/componenti.txt @@ -0,0 +1,2 @@ +Thomas Ghione 5254284 +Simone Tomasella 5311626 \ No newline at end of file From 21d459f5e78bcd112bc70afc1a3f82d202d17702 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 28 Nov 2023 13:13:00 +0100 Subject: [PATCH 21/23] Committed .class files --- bin/ATM.class | Bin 2920 -> 2920 bytes bin/ATMCaseStudy.class | Bin 456 -> 456 bytes bin/Account.class | Bin 1146 -> 1146 bytes bin/BalanceInquiry.class | Bin 1116 -> 1116 bytes bin/BankDatabase.class | Bin 1450 -> 1450 bytes bin/CashDispenser.class | Bin 677 -> 677 bytes bin/Deposit.class | Bin 1997 -> 1997 bytes bin/DepositSlot.class | Bin 343 -> 343 bytes bin/Keypad.class | Bin 535 -> 535 bytes bin/Screen.class | Bin 910 -> 910 bytes bin/Transaction.class | Bin 812 -> 812 bytes bin/Withdrawal.class | Bin 2489 -> 2489 bytes 12 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/ATM.class b/bin/ATM.class index 76543bfde35c4daa304c3934c927eca8f833d61e..736b8249caaabed7d8f5825d12d4a3e4f4ba2cde 100644 GIT binary patch delta 17 ZcmaDM_Ck!~)W2Q(7#JALH*zF!0{}-G2A}`{ delta 17 ZcmaDM_Ck!~)W2Q(7#J9AH*zF!0{}-k2BrW2 diff --git a/bin/ATMCaseStudy.class b/bin/ATMCaseStudy.class index 607c10d4dd7fb15304bfa8a9ae6744532e8a1e0c..62ee1ee0a386437044e708704295206226903c1a 100644 GIT binary patch delta 17 ZcmX@Xe1e(d)W2Q(7#JALH*y?c1OP#o29N*% delta 17 ZcmX@Xe1e(d)W2Q(7#J9AH*y?c1OP#`29^K- diff --git a/bin/Account.class b/bin/Account.class index 5d2d6369e9065ef244ee99eb83b556b917cd8c7c..0a3c8a1a55dee80124be444d97d6e97ecd1f8a14 100644 GIT binary patch delta 17 Zcmeyx@r#4w)W2Q(7#JALH*yrQ002kS2D1PF delta 17 Zcmeyx@r#4w)W2Q(7#J9AH*yrQ002kw2DtzL diff --git a/bin/BalanceInquiry.class b/bin/BalanceInquiry.class index 48f8e6aac7e4689adac3e3b62b94bed3ef9ca787..3d4fc387918ece2430b5723f28a02f2051a8fbb9 100644 GIT binary patch delta 17 Zcmcb^afgHB)W2Q(7#JALH*$oq002YS23Y_A delta 17 Zcmcb^afgHB)W2Q(7#J9AH*$oq002Yw244UG diff --git a/bin/BankDatabase.class b/bin/BankDatabase.class index 429aec1bd6e86b31a745d59bf7a38eddf046fd10..ecc984b13075da864ac1342921e39ee3a5b2d370 100644 GIT binary patch delta 17 ZcmZ3*y^5RT)W2Q(7#JALH*zdu1pq#e21)<` delta 17 ZcmZ3*y^5RT)W2Q(7#J9AH*zdu1pq#+22cP1 diff --git a/bin/CashDispenser.class b/bin/CashDispenser.class index b8cedbabb217701eda2172f78400527c77edff6d..72680cfe4434049a6884bb0bc9412aceb24fa1a3 100644 GIT binary patch delta 17 ZcmZ3=x|EgU)W2Q(7#JALH*(Bn0suWO1}p#o delta 17 ZcmZ3=x|EgU)W2Q(7#J9AH*(Bn0suWs1~LEu diff --git a/bin/Deposit.class b/bin/Deposit.class index 57b0c3f71f0c14c3e68bdbb1340a34a706e145a4..3af73688d201b87f27f66cd6047c3047a360e6d6 100644 GIT binary patch delta 17 ZcmX@hf0m!))W2Q(7#JALH*y?h2LMB_2E70P delta 17 ZcmX@hf0m!))W2Q(7#J9AH*y?h2LMCO2EzaV diff --git a/bin/DepositSlot.class b/bin/DepositSlot.class index a2664ad97f3f37ceedeef3f28138881cd983b39d..dcde219e4d44bbde7c357193434db82f236ba36e 100644 GIT binary patch delta 17 Zcmcc4be)Og)W2Q(7#JALH*)wh0sumH20H)% delta 17 Zcmcc4be)Og)W2Q(7#J9AH*)wh0suml20;J- diff --git a/bin/Keypad.class b/bin/Keypad.class index 9b066e220ca842b7787e1c6ebbcc07d61efe2393..95f63ab85b800475a7de579078f30e36cda9e9b6 100644 GIT binary patch delta 17 ZcmbQvGM$Cv)W2Q(7#JALH*)YZ0RTEQ1%Lnm delta 17 ZcmbQvGM$Cv)W2Q(7#J9AH*)YZ0RTEu1%?0s diff --git a/bin/Screen.class b/bin/Screen.class index a03675802694ce60d6bb59226365236d62e87a7e..7e88baf376e66bf46e58da52876829e64ee4e184 100644 GIT binary patch delta 17 YcmeBU?_=jU^>5cc1_lQ6jT~*v06JX->;M1& delta 17 YcmeBU?_=jU^>5cc1_lP(jT~*v06KdG@&Et; diff --git a/bin/Transaction.class b/bin/Transaction.class index 1330b55e97b38711f909025f939758b75d82a158..55364f8bc279f60af563cfdab456560388d716ce 100644 GIT binary patch delta 17 ZcmZ3(wuX)4)W2Q(7#JALH*%;j0{}fc1;hXV delta 17 ZcmZ3(wuX)4)W2Q(7#J9AH*%;j0{}f)1& From 294034a19871eb9d06b2573c5bc5cd1b48456fe6 Mon Sep 17 00:00:00 2001 From: "thomasghionesanremo@gmail.com" Date: Tue, 28 Nov 2023 13:21:33 +0100 Subject: [PATCH 22/23] trying to force a merge conflict in ATMCaseStudy --- src/code/Business_Logic/ATMCaseStudy.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/code/Business_Logic/ATMCaseStudy.java b/src/code/Business_Logic/ATMCaseStudy.java index f5f05a5..f79f75a 100644 --- a/src/code/Business_Logic/ATMCaseStudy.java +++ b/src/code/Business_Logic/ATMCaseStudy.java @@ -1,8 +1,8 @@ package code.Business_Logic; -// ATMCaseStudy.java -// Driver program for the ATM case study import code.GUI.ATM; +// ATMCaseStudy.java +// Driver program for the ATM case study public class ATMCaseStudy { From 6871e1b83d840849a070a51793cd59aff4ac1bfe Mon Sep 17 00:00:00 2001 From: SimoneTomasella <107037742+Simo64Terminator@users.noreply.github.com> Date: Tue, 28 Nov 2023 13:27:13 +0100 Subject: [PATCH 23/23] Updated componenti.txt Added a message for the professor --- componenti.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/componenti.txt b/componenti.txt index c9f06a5..bff3267 100644 --- a/componenti.txt +++ b/componenti.txt @@ -1,2 +1,4 @@ Thomas Ghione 5254284 -Simone Tomasella 5311626 \ No newline at end of file +Simone Tomasella 5311626 + +Abbiamo avuto un merge conflict da feature a main, ma non siamo sicuri sia evidente nel DAG, se vuole possiamo mostrarglielo direttamente a lezione se lo ritiene necessario