From ec7d82990f1a98d7dcef3c4b02b94131f6af9dfa Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Wed, 29 Nov 2023 19:17:15 +0100 Subject: [PATCH 01/12] Commit (1) Aggiunti packages, classe Euro e branch feature. --- .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 src/{ => code}/ATM.java | 1 + src/{ => code}/ATMCaseStudy.java | 1 + src/{ => code}/Account.java | 1 + src/{ => code}/BalanceInquiry.java | 1 + src/{ => code}/BankDatabase.java | 1 + src/{ => code}/CashDispenser.java | 1 + src/{ => code}/Deposit.java | 1 + src/{ => code}/DepositSlot.java | 1 + src/code/Euro.java | 49 +++++++++++++++++++++++++++++ src/{ => code}/Keypad.java | 1 + src/{ => code}/Screen.java | 1 + src/{ => code}/Transaction.java | 1 + src/{ => code}/Withdrawal.java | 1 + 26 files changed, 85 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}/ATM.java (99%) rename src/{ => code}/ATMCaseStudy.java (98%) rename src/{ => code}/Account.java (99%) rename src/{ => code}/BalanceInquiry.java (99%) rename src/{ => code}/BankDatabase.java (99%) rename src/{ => code}/CashDispenser.java (99%) rename src/{ => code}/Deposit.java (99%) rename src/{ => code}/DepositSlot.java (99%) create mode 100644 src/code/Euro.java rename src/{ => code}/Keypad.java (99%) rename src/{ => code}/Screen.java (99%) rename src/{ => code}/Transaction.java (99%) rename src/{ => code}/Withdrawal.java (99%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6091879 --- /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* \ No newline at end of file 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/ATM.java b/src/code/ATM.java similarity index 99% rename from src/ATM.java rename to src/code/ATM.java index aa3d187..fcf180d 100644 --- a/src/ATM.java +++ b/src/code/ATM.java @@ -1,3 +1,4 @@ +package code; // ATM.java // Represents an automated teller machine diff --git a/src/ATMCaseStudy.java b/src/code/ATMCaseStudy.java similarity index 98% rename from src/ATMCaseStudy.java rename to src/code/ATMCaseStudy.java index b9033bd..b4b92d9 100644 --- a/src/ATMCaseStudy.java +++ b/src/code/ATMCaseStudy.java @@ -1,3 +1,4 @@ +package code; // ATMCaseStudy.java // Driver program for the ATM case study diff --git a/src/Account.java b/src/code/Account.java similarity index 99% rename from src/Account.java rename to src/code/Account.java index c308eca..1907165 100644 --- a/src/Account.java +++ b/src/code/Account.java @@ -1,3 +1,4 @@ +package code; // Account.java // Represents a bank account diff --git a/src/BalanceInquiry.java b/src/code/BalanceInquiry.java similarity index 99% rename from src/BalanceInquiry.java rename to src/code/BalanceInquiry.java index d45fa6a..884f3f1 100644 --- a/src/BalanceInquiry.java +++ b/src/code/BalanceInquiry.java @@ -1,3 +1,4 @@ +package code; // BalanceInquiry.java // Represents a balance inquiry ATM transaction diff --git a/src/BankDatabase.java b/src/code/BankDatabase.java similarity index 99% rename from src/BankDatabase.java rename to src/code/BankDatabase.java index 3978497..7e4a5a6 100644 --- a/src/BankDatabase.java +++ b/src/code/BankDatabase.java @@ -1,3 +1,4 @@ +package code; // BankDatabase.java // Represents the bank account information database diff --git a/src/CashDispenser.java b/src/code/CashDispenser.java similarity index 99% rename from src/CashDispenser.java rename to src/code/CashDispenser.java index b249faf..3e332f3 100644 --- a/src/CashDispenser.java +++ b/src/code/CashDispenser.java @@ -1,3 +1,4 @@ +package code; // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/Deposit.java b/src/code/Deposit.java similarity index 99% rename from src/Deposit.java rename to src/code/Deposit.java index 916ef70..ac2705d 100644 --- a/src/Deposit.java +++ b/src/code/Deposit.java @@ -1,3 +1,4 @@ +package code; // Deposit.java // Represents a deposit ATM transaction diff --git a/src/DepositSlot.java b/src/code/DepositSlot.java similarity index 99% rename from src/DepositSlot.java rename to src/code/DepositSlot.java index 64e02c2..d860a09 100644 --- a/src/DepositSlot.java +++ b/src/code/DepositSlot.java @@ -1,3 +1,4 @@ +package code; // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/code/Euro.java b/src/code/Euro.java new file mode 100644 index 0000000..5072482 --- /dev/null +++ b/src/code/Euro.java @@ -0,0 +1,49 @@ +package code; +//ricordare di aggiungere il .class al file gitignore. + +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/Keypad.java b/src/code/Keypad.java similarity index 99% rename from src/Keypad.java rename to src/code/Keypad.java index cd035c7..34ade75 100644 --- a/src/Keypad.java +++ b/src/code/Keypad.java @@ -1,3 +1,4 @@ +package code; // 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/Screen.java similarity index 99% rename from src/Screen.java rename to src/code/Screen.java index 44d3f30..5949126 100644 --- a/src/Screen.java +++ b/src/code/Screen.java @@ -1,3 +1,4 @@ +package code; // Screen.java // Represents the screen of the ATM diff --git a/src/Transaction.java b/src/code/Transaction.java similarity index 99% rename from src/Transaction.java rename to src/code/Transaction.java index 508fea8..2138610 100644 --- a/src/Transaction.java +++ b/src/code/Transaction.java @@ -1,3 +1,4 @@ +package code; // Transaction.java // Abstract superclass Transaction represents an ATM transaction diff --git a/src/Withdrawal.java b/src/code/Withdrawal.java similarity index 99% rename from src/Withdrawal.java rename to src/code/Withdrawal.java index 6e0af62..a2e6fa3 100644 --- a/src/Withdrawal.java +++ b/src/code/Withdrawal.java @@ -1,3 +1,4 @@ +package code; // Withdrawal.java // Represents a withdrawal ATM transaction From 157e4478ea4a9a691afa921354bcd4423ce75665 Mon Sep 17 00:00:00 2001 From: sonysonia <134772764+sonysonia@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:11:32 +0100 Subject: [PATCH 02/12] commit(2) aggiunti packages GIUI ,Business_logic e Database --- src/code/{ => Business_logic}/DepositSlot.java | 2 +- src/code/{ => Business_logic}/Euro.java | 2 +- src/code/{ => Database}/Account.java | 2 +- src/code/{ => Database}/BankDatabase.java | 2 +- src/code/{ => Database}/CashDispenser.java | 2 +- src/code/{ => Database}/Deposit.java | 7 ++++++- src/code/{ => Database}/Withdrawal.java | 6 +++++- src/code/{ => GUI}/ATM.java | 8 +++++++- src/code/{ => GUI}/ATMCaseStudy.java | 2 +- src/code/{ => GUI}/BalanceInquiry.java | 4 +++- src/code/{ => GUI}/Keypad.java | 2 +- src/code/{ => GUI}/Screen.java | 2 +- src/code/{ => GUI}/Transaction.java | 4 +++- 13 files changed, 32 insertions(+), 13 deletions(-) rename src/code/{ => Business_logic}/DepositSlot.java (98%) rename src/code/{ => Business_logic}/Euro.java (97%) rename src/code/{ => Database}/Account.java (99%) rename src/code/{ => Database}/BankDatabase.java (99%) rename src/code/{ => Database}/CashDispenser.java (98%) rename src/code/{ => Database}/Deposit.java (96%) rename src/code/{ => Database}/Withdrawal.java (98%) rename src/code/{ => GUI}/ATM.java (97%) rename src/code/{ => GUI}/ATMCaseStudy.java (98%) rename src/code/{ => GUI}/BalanceInquiry.java (97%) rename src/code/{ => GUI}/Keypad.java (98%) rename src/code/{ => GUI}/Screen.java (98%) rename src/code/{ => GUI}/Transaction.java (97%) 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 d860a09..e310a6b 100644 --- a/src/code/DepositSlot.java +++ b/src/code/Business_logic/DepositSlot.java @@ -1,4 +1,4 @@ -package code; +package code.Business_logic; // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/code/Euro.java b/src/code/Business_logic/Euro.java similarity index 97% rename from src/code/Euro.java rename to src/code/Business_logic/Euro.java index 5072482..f4fcca2 100644 --- a/src/code/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -1,4 +1,4 @@ -package code; +package code.Business_logic; //ricordare di aggiungere il .class al file gitignore. public class Euro { 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 1907165..89ac869 100644 --- a/src/code/Account.java +++ b/src/code/Database/Account.java @@ -1,4 +1,4 @@ -package code; +package code.Database; // Account.java // Represents a bank 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 7e4a5a6..b9e30f4 100644 --- a/src/code/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,4 +1,4 @@ -package code; +package code.Database; // BankDatabase.java // Represents the bank account information database diff --git a/src/code/CashDispenser.java b/src/code/Database/CashDispenser.java similarity index 98% rename from src/code/CashDispenser.java rename to src/code/Database/CashDispenser.java index 3e332f3..0ee765e 100644 --- a/src/code/CashDispenser.java +++ b/src/code/Database/CashDispenser.java @@ -1,4 +1,4 @@ -package code; +package code.Database; // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/code/Deposit.java b/src/code/Database/Deposit.java similarity index 96% rename from src/code/Deposit.java rename to src/code/Database/Deposit.java index ac2705d..f3ea78f 100644 --- a/src/code/Deposit.java +++ b/src/code/Database/Deposit.java @@ -1,7 +1,12 @@ -package code; +package code.Database; // Deposit.java // Represents a deposit ATM transaction +import code.Business_logic.DepositSlot; +import code.GUI.Keypad; +import code.GUI.Screen; +import code.GUI.Transaction; + public class Deposit extends Transaction { private double amount; // amount to deposit diff --git a/src/code/Withdrawal.java b/src/code/Database/Withdrawal.java similarity index 98% rename from src/code/Withdrawal.java rename to src/code/Database/Withdrawal.java index a2e6fa3..3c17c46 100644 --- a/src/code/Withdrawal.java +++ b/src/code/Database/Withdrawal.java @@ -1,7 +1,11 @@ -package code; +package code.Database; // Withdrawal.java // Represents a withdrawal ATM transaction +import code.GUI.Keypad; +import code.GUI.Screen; +import code.GUI.Transaction; + public class Withdrawal extends Transaction { private int amount; // amount to withdraw diff --git a/src/code/ATM.java b/src/code/GUI/ATM.java similarity index 97% rename from src/code/ATM.java rename to src/code/GUI/ATM.java index fcf180d..7ddba54 100644 --- a/src/code/ATM.java +++ b/src/code/GUI/ATM.java @@ -1,7 +1,13 @@ -package code; +package code.GUI; // ATM.java // Represents an automated teller machine +import code.Business_logic.DepositSlot; +import code.Database.BankDatabase; +import code.Database.CashDispenser; +import code.Database.Deposit; +import code.Database.Withdrawal; + public class ATM { private boolean userAuthenticated; // whether user is authenticated diff --git a/src/code/ATMCaseStudy.java b/src/code/GUI/ATMCaseStudy.java similarity index 98% rename from src/code/ATMCaseStudy.java rename to src/code/GUI/ATMCaseStudy.java index b4b92d9..5beedde 100644 --- a/src/code/ATMCaseStudy.java +++ b/src/code/GUI/ATMCaseStudy.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // ATMCaseStudy.java // Driver program for the ATM case study diff --git a/src/code/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java similarity index 97% rename from src/code/BalanceInquiry.java rename to src/code/GUI/BalanceInquiry.java index 884f3f1..9aa33d8 100644 --- a/src/code/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -1,7 +1,9 @@ -package code; +package code.GUI; // BalanceInquiry.java // Represents a balance inquiry ATM transaction +import code.Database.BankDatabase; + public class BalanceInquiry extends Transaction { // BalanceInquiry constructor diff --git a/src/code/Keypad.java b/src/code/GUI/Keypad.java similarity index 98% rename from src/code/Keypad.java rename to src/code/GUI/Keypad.java index 34ade75..f0f716c 100644 --- a/src/code/Keypad.java +++ b/src/code/GUI/Keypad.java @@ -1,4 +1,4 @@ -package code; +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/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 5949126..d9ed691 100644 --- a/src/code/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // Screen.java // Represents the screen of the ATM diff --git a/src/code/Transaction.java b/src/code/GUI/Transaction.java similarity index 97% rename from src/code/Transaction.java rename to src/code/GUI/Transaction.java index 2138610..756cc05 100644 --- a/src/code/Transaction.java +++ b/src/code/GUI/Transaction.java @@ -1,7 +1,9 @@ -package code; +package code.GUI; // Transaction.java // Abstract superclass Transaction represents an ATM transaction +import code.Database.BankDatabase; + public abstract class Transaction { private int accountNumber; // indicates account involved From 663db1bb12f516bab409bee5c83cbd7f8b9077d1 Mon Sep 17 00:00:00 2001 From: sonysonia <134772764+sonysonia@users.noreply.github.com> Date: Sun, 3 Dec 2023 22:56:53 +0100 Subject: [PATCH 03/12] commit(3) sostituzione del tipo primitivo double con la classe Euro --- src/code/Database/Account.java | 21 +++---- src/code/Database/BankDatabase.java | 13 +++-- src/code/Database/CashDispenser.java | 9 +-- src/code/Database/Deposit.java | 19 +++--- src/code/GUI/ATM.java | 1 - src/code/GUI/BalanceInquiry.java | 12 ++-- src/code/GUI/Screen.java | 13 ++++- src/code/{Database => GUI}/Withdrawal.java | 43 +++++++------- src/test/TestEuro.java | 68 ++++++++++++++++++++++ 9 files changed, 137 insertions(+), 62 deletions(-) rename src/code/{Database => GUI}/Withdrawal.java (87%) create mode 100644 src/test/TestEuro.java diff --git a/src/code/Database/Account.java b/src/code/Database/Account.java index 89ac869..d4134cf 100644 --- a/src/code/Database/Account.java +++ b/src/code/Database/Account.java @@ -1,4 +1,5 @@ package code.Database; +import code.Business_logic.Euro; // Account.java // Represents a bank account @@ -6,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; @@ -29,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 b9e30f4..dec8a09 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,4 +1,5 @@ package code.Database; +import code.Business_logic.Euro; // BankDatabase.java // Represents the bank account information database @@ -10,8 +11,8 @@ 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 @@ -43,25 +44,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/CashDispenser.java b/src/code/Database/CashDispenser.java index 0ee765e..fe39aa6 100644 --- a/src/code/Database/CashDispenser.java +++ b/src/code/Database/CashDispenser.java @@ -1,4 +1,5 @@ package code.Database; +import code.Business_logic.Euro; // CashDispenser.java // Represents the cash dispenser of the ATM @@ -15,16 +16,16 @@ public CashDispenser() } // end CashDispenser constructor // simulates dispensing of specified amount of cash - public void dispenseCash( int amount ) + public void dispenseCash( Euro amount ) { - int billsRequired = amount / 20; // number of $20 bills required + long billsRequired = (amount.getValore()/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 ) + public boolean isSufficientCashAvailable( Euro amount ) { - int billsRequired = amount / 20; // number of $20 bills required + long billsRequired = (amount.getValore()/100) / 20; // number of $20 bills required if ( count >= billsRequired ) return true; // enough bills available diff --git a/src/code/Database/Deposit.java b/src/code/Database/Deposit.java index f3ea78f..ed44d04 100644 --- a/src/code/Database/Deposit.java +++ b/src/code/Database/Deposit.java @@ -3,16 +3,17 @@ // Represents a deposit ATM transaction import code.Business_logic.DepositSlot; +import code.Business_logic.Euro; import code.GUI.Keypad; import code.GUI.Screen; import code.GUI.Transaction; 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 + private final static Euro CANCELED = new Euro(0.0); // constant for cancel option // Deposit constructor public Deposit( int userAccountNumber, Screen atmScreen, @@ -36,12 +37,12 @@ public void execute() amount = promptForDepositAmount(); // get deposit amount from user // check whether user entered a deposit amount or canceled - if ( amount != CANCELED ) + if (amount.ugualeA(CANCELED)) { // request deposit envelope containing specified amount screen.displayMessage( "\nPlease insert a deposit envelope containing " ); - screen.displayDollarAmount( amount ); + screen.displayEuroAmount( amount ); screen.displayMessageLine( "." ); // receive deposit envelope @@ -70,22 +71,22 @@ public void execute() } // end else } // end method execute - // prompt user to enter a deposit amount in cents - private double promptForDepositAmount() + // prompt user to enter a deposit amount in euro + private Euro promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen // display the prompt screen.displayMessage( "\nPlease enter a deposit amount in " + - "CENTS (or 0 to cancel): " ); + "EURO (or 0 to cancel): " ); int input = keypad.getInput(); // receive input of deposit amount // check whether the user canceled or entered a valid amount - if ( input == CANCELED ) + if ( input == CANCELED.getValore() ) return CANCELED; else { - return ( double ) input / 100; // return dollar amount + return new Euro(input / 100.0); // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/code/GUI/ATM.java b/src/code/GUI/ATM.java index 7ddba54..ec7b09b 100644 --- a/src/code/GUI/ATM.java +++ b/src/code/GUI/ATM.java @@ -6,7 +6,6 @@ import code.Database.BankDatabase; import code.Database.CashDispenser; import code.Database.Deposit; -import code.Database.Withdrawal; public class ATM { diff --git a/src/code/GUI/BalanceInquiry.java b/src/code/GUI/BalanceInquiry.java index 9aa33d8..df3c2a0 100644 --- a/src/code/GUI/BalanceInquiry.java +++ b/src/code/GUI/BalanceInquiry.java @@ -1,7 +1,7 @@ package code.GUI; // BalanceInquiry.java // Represents a balance inquiry ATM transaction - +import code.Business_logic.Euro; import code.Database.BankDatabase; public class BalanceInquiry extends Transaction @@ -21,19 +21,17 @@ public void execute() Screen screen = getScreen(); // get the available balance for the account involved - double availableBalance = - bankDatabase.getAvailableBalance( getAccountNumber() ); + Euro availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // get the total balance for the account involved - double totalBalance = - bankDatabase.getTotalBalance( getAccountNumber() ); + Euro totalBalance = bankDatabase.getTotalBalance( getAccountNumber() ); // display the balance information on the screen screen.displayMessageLine( "\nBalance Information:" ); screen.displayMessage( " - Available balance: " ); - screen.displayDollarAmount( availableBalance ); + screen.displayEuroAmount( availableBalance ); screen.displayMessage( "\n - Total balance: " ); - screen.displayDollarAmount( totalBalance ); + screen.displayEuroAmount( totalBalance ); screen.displayMessageLine( "" ); } // end method execute } // end class BalanceInquiry diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index d9ed691..468e02c 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,4 +1,5 @@ package code.GUI; +import code.Business_logic.Euro; // Screen.java // Represents the screen of the ATM @@ -17,12 +18,18 @@ public void displayMessageLine( String message ) } // end method displayMessageLine // display a dollar amount - public void displayDollarAmount( double amount ) + public void displayEuroAmount( Euro amount ) { - System.out.printf( "$%,.2f", amount ); - } // end method displayDollarAmount + System.out.printf( "$%,.2f", amount.getValore()/100.0 ); + } // end method displayEuroAmount } // end class Screen +/*In questo modo, il metodo displayEuroAmount accetta un oggetto di tipo Euro e lo formatta +correttamente per essere visualizzato sulla schermata dell'ATM. L'importo viene diviso per 100.0 + perché la rappresentazione interna di Euro è in centesimi.*/ + + + /************************************************************************** diff --git a/src/code/Database/Withdrawal.java b/src/code/GUI/Withdrawal.java similarity index 87% rename from src/code/Database/Withdrawal.java rename to src/code/GUI/Withdrawal.java index 3c17c46..5d3ee51 100644 --- a/src/code/Database/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -1,14 +1,14 @@ -package code.Database; +package code.GUI; // Withdrawal.java // Represents a withdrawal ATM transaction -import code.GUI.Keypad; -import code.GUI.Screen; -import code.GUI.Transaction; +import code.Database.CashDispenser; +import code.Business_logic.Euro; +import code.Database.BankDatabase; 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,24 @@ 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() / 100 != CANCELED) + { // get available balance of account involved availableBalance = - bankDatabase.getAvailableBalance( getAccountNumber() ); + bankDatabase.getAvailableBalance( getAccountNumber()); // check whether the user has enough money in the account - if ( amount <= availableBalance ) + if ( amount.minoreDi(availableBalance) ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( amount ) ) + if ( cashDispenser.isSufficientCashAvailable( amount) ) { // update the account involved to reflect withdrawal bankDatabase.debit( getAccountNumber(), amount ); - cashDispenser.dispenseCash( amount ); // dispense cash + cashDispenser.dispenseCash( amount); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash @@ -98,21 +97,20 @@ private int displayMenuOfAmounts() // array of amounts to correspond to menu numbers int amounts[] = { 0, 20, 40, 60, 100, 200 }; - // loop while no valid choice has been made - while ( userChoice == 0 ) - { + while ( userChoice == 0 ) { // display the menu screen.displayMessageLine( "\nWithdrawal Menu:" ); - screen.displayMessageLine( "1 - $20" ); - screen.displayMessageLine( "2 - $40" ); - screen.displayMessageLine( "3 - $60" ); - screen.displayMessageLine( "4 - $100" ); - screen.displayMessageLine( "5 - $200" ); + screen.displayMessageLine( "1 - 20 Euro" ); + screen.displayMessageLine( "2 - 40 Euro" ); + screen.displayMessageLine( "3 - 60 Euro" ); + screen.displayMessageLine( "4 - 100 Euro" ); + screen.displayMessageLine( "5 - 200 Euro" ); screen.displayMessageLine( "6 - Cancel transaction" ); screen.displayMessage( "\nChoose a withdrawal amount: " ); int input = keypad.getInput(); // get user input through keypad + // determine how to proceed based on the input value switch ( input ) @@ -122,6 +120,7 @@ private int displayMenuOfAmounts() case 3: // corresponding amount from amounts array case 4: case 5: + userChoice = amounts[ input ]; // save user's choice break; case CANCELED: // the user chose to cancel diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java new file mode 100644 index 0000000..15da350 --- /dev/null +++ b/src/test/TestEuro.java @@ -0,0 +1,68 @@ +package test; + +import static org.junit.Assert.*; +import org.junit.Before; +import org.junit.Test; + +import code.Business_logic.Euro; + +public class TestEuro { + + private Euro euro; + + @Before + public void setup() { + // Inizializza l'oggetto Euro prima di ogni test + euro = new Euro(50, 75); + } + + @Test + public void testGetValore() { + assertEquals(5075, euro.getValore()); + } + + @Test + public void testSomma() { + Euro altroEuro = new Euro(25, 50); + Euro risultato = euro.somma(altroEuro); + + assertEquals(76.25, risultato.getValore() / 100.0, 0.01); + } + + @Test + public void testSottrai() { + Euro altroEuro = new Euro(25, 50); + Euro risultato = euro.sottrai(altroEuro); + + assertEquals(25.25, risultato.getValore() / 100.0, 0.01); + } + + @Test + public void testUgualeA() { + Euro stessoEuro = new Euro(50, 75); + + assertTrue(euro.ugualeA(stessoEuro)); + } + + @Test + public void testMinoreDi() { + Euro altroEuro = new Euro(75, 0); + + assertTrue(euro.minoreDi(altroEuro)); + } + + @Test + public void testCostruttoreDouble() { + double valoreDouble = 20.75; + long valoreCent = 2075; + + Euro euroCostruito = new Euro(valoreDouble); + + assertEquals(valoreCent, euroCostruito.getValore()); + } + + @Test + public void testStampa() { + assertEquals("50.75 euro", euro.stampa()); + } +} From caa3fb89ccef3f2b9b1092b3129f5ec79e37900f Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Mon, 4 Dec 2023 22:45:57 +0100 Subject: [PATCH 04/12] Commit (4.1) Aggiunti tests - fallimento metodo MinoreDi --- .vscode/settings.json | 4 +++- src/test/TestEuro.java | 24 ++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index e112a70..c40394c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,8 @@ "java.project.sourcePaths": ["src"], "java.project.outputPath": "bin", "java.project.referencedLibraries": [ - "lib/**/*.jar" + "lib/**/*.jar", + "c:\\Users\\cacci\\.m2\\repository\\junit\\junit\\4.13.2\\junit-4.13.2.jar", + "c:\\Users\\cacci\\.m2\\repository\\org\\hamcrest\\hamcrest-core\\1.3\\hamcrest-core-1.3.jar" ] } diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java index 15da350..b21d630 100644 --- a/src/test/TestEuro.java +++ b/src/test/TestEuro.java @@ -19,6 +19,8 @@ public void setup() { @Test public void testGetValore() { assertEquals(5075, euro.getValore()); + assertNotEquals(5076, euro.getValore()); + assertNotEquals(5074, euro.getValore()); } @Test @@ -27,6 +29,8 @@ public void testSomma() { Euro risultato = euro.somma(altroEuro); assertEquals(76.25, risultato.getValore() / 100.0, 0.01); + assertNotEquals(77.26, risultato.getValore() / 100.0, 0.01); + assertNotEquals(75.25, risultato.getValore() / 100.0, 0.01); } @Test @@ -35,34 +39,50 @@ public void testSottrai() { Euro risultato = euro.sottrai(altroEuro); assertEquals(25.25, risultato.getValore() / 100.0, 0.01); + assertNotEquals(25.26, risultato.getValore() / 100.0, 0.01); + assertNotEquals(24.25, risultato.getValore() / 100.0, 0.01); } @Test public void testUgualeA() { Euro stessoEuro = new Euro(50, 75); + Euro euroMaggiore = new Euro(50, 76); + Euro euroMinore = new Euro(50, 74); assertTrue(euro.ugualeA(stessoEuro)); + assertFalse(euro.ugualeA(euroMaggiore)); + assertFalse(euro.ugualeA(euroMinore)); } @Test public void testMinoreDi() { - Euro altroEuro = new Euro(75, 0); + Euro euroMaggiore = new Euro(75, 0); + Euro stessoEuro = new Euro(50, 75); + Euro euroMinore = new Euro(50, 74); - assertTrue(euro.minoreDi(altroEuro)); + assertTrue(euro.minoreDi(euroMaggiore)); + assertFalse(euro.minoreDi(stessoEuro)); // Ci si aspetta fallisca. + assertFalse(euro.minoreDi(euroMinore)); } @Test public void testCostruttoreDouble() { double valoreDouble = 20.75; long valoreCent = 2075; + long valoreCentErrato = 2076; + long valoreCentErrato2 = 2074; Euro euroCostruito = new Euro(valoreDouble); assertEquals(valoreCent, euroCostruito.getValore()); + assertNotEquals(valoreCentErrato, euroCostruito.getValore()); + assertNotEquals(valoreCentErrato2, euroCostruito.getValore()); } @Test public void testStampa() { assertEquals("50.75 euro", euro.stampa()); + assertNotEquals("50.76 euro", euro.stampa()); + assertNotEquals("50.74 euro", euro.stampa()); } } From 97ac815f45e8f26c73b1b437bdec374b3a8c5341 Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Mon, 4 Dec 2023 22:50:18 +0100 Subject: [PATCH 05/12] Commit(4.2) fixato metodo MinoreDi e execute in Deposit --- src/code/Business_logic/Euro.java | 2 +- src/code/Database/Deposit.java | 2 +- src/code/GUI/Screen.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/code/Business_logic/Euro.java b/src/code/Business_logic/Euro.java index f4fcca2..2ad1cc4 100644 --- a/src/code/Business_logic/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -38,7 +38,7 @@ public boolean ugualeA(Euro e){ } public boolean minoreDi(Euro e){ - if (valore <= e.getValore()) + if (valore < e.getValore()) return true; else return false; } diff --git a/src/code/Database/Deposit.java b/src/code/Database/Deposit.java index ed44d04..10a43cd 100644 --- a/src/code/Database/Deposit.java +++ b/src/code/Database/Deposit.java @@ -37,7 +37,7 @@ public void execute() amount = promptForDepositAmount(); // get deposit amount from user // check whether user entered a deposit amount or canceled - if (amount.ugualeA(CANCELED)) + if (!amount.ugualeA(CANCELED)) { // request deposit envelope containing specified amount screen.displayMessage( diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index 468e02c..a78d411 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -20,7 +20,7 @@ public void displayMessageLine( String message ) // display a dollar amount public void displayEuroAmount( Euro amount ) { - System.out.printf( "$%,.2f", amount.getValore()/100.0 ); + System.out.printf( "€%,.2f", amount.getValore()/100.0 ); } // end method displayEuroAmount } // end class Screen From 93fb730d1c541b2f82df720e137c2e7fb239cac2 Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Tue, 5 Dec 2023 16:05:12 +0100 Subject: [PATCH 06/12] Commit (4.3) Cambio semantico metodo minoreDi, sistemato test. --- src/code/Business_logic/Euro.java | 2 +- src/code/GUI/Screen.java | 4 +++- src/code/GUI/Withdrawal.java | 2 +- src/test/TestEuro.java | 8 ++++---- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/code/Business_logic/Euro.java b/src/code/Business_logic/Euro.java index 2ad1cc4..5f362d2 100644 --- a/src/code/Business_logic/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -37,7 +37,7 @@ public boolean ugualeA(Euro e){ else return false; } - public boolean minoreDi(Euro e){ + public boolean minoreOUgualeDi(Euro e){ if (valore < e.getValore()) return true; else return false; diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index a78d411..d0327cf 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -20,7 +20,9 @@ public void displayMessageLine( String message ) // display a dollar amount public void displayEuroAmount( Euro amount ) { - System.out.printf( "€%,.2f", amount.getValore()/100.0 ); + // Note: \u20ac is the Unicode character for the Euro symbol. + System.out.print("Euro "); + System.out.printf( "%,.2f", amount.getValore()/100.0 ); } // end method displayEuroAmount } // end class Screen diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index 5d3ee51..e4645df 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -51,7 +51,7 @@ public void execute() bankDatabase.getAvailableBalance( getAccountNumber()); // check whether the user has enough money in the account - if ( amount.minoreDi(availableBalance) ) + if ( amount.minoreOUgualeDi(availableBalance) ) { // check whether the cash dispenser has enough money if ( cashDispenser.isSufficientCashAvailable( amount) ) diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java index b21d630..4eb4292 100644 --- a/src/test/TestEuro.java +++ b/src/test/TestEuro.java @@ -55,14 +55,14 @@ public void testUgualeA() { } @Test - public void testMinoreDi() { + public void testminoreOUgualeDi() { Euro euroMaggiore = new Euro(75, 0); Euro stessoEuro = new Euro(50, 75); Euro euroMinore = new Euro(50, 74); - assertTrue(euro.minoreDi(euroMaggiore)); - assertFalse(euro.minoreDi(stessoEuro)); // Ci si aspetta fallisca. - assertFalse(euro.minoreDi(euroMinore)); + assertTrue(euro.minoreOUgualeDi(euroMaggiore)); + assertTrue(euro.minoreOUgualeDi(stessoEuro)); + assertFalse(euro.minoreOUgualeDi(euroMinore)); } @Test From a771ca1ae4d38efae6d42ab3f4aee5bf6cff8054 Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Tue, 5 Dec 2023 16:06:56 +0100 Subject: [PATCH 07/12] Commit (4.3.1) fix metodo minoreOUgualeDi --- src/code/Business_logic/Euro.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code/Business_logic/Euro.java b/src/code/Business_logic/Euro.java index 5f362d2..921f1e8 100644 --- a/src/code/Business_logic/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -38,7 +38,7 @@ public boolean ugualeA(Euro e){ } public boolean minoreOUgualeDi(Euro e){ - if (valore < e.getValore()) + if (valore <= e.getValore()) return true; else return false; } From 9e3bc295230e6c2c5e787ce3a5717b42af299ad8 Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Tue, 5 Dec 2023 16:49:33 +0100 Subject: [PATCH 08/12] Commit (4.2) Aggiunti tests per classe Account. --- src/test/TestAccount.java | 81 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/test/TestAccount.java diff --git a/src/test/TestAccount.java b/src/test/TestAccount.java new file mode 100644 index 0000000..ba8ec4f --- /dev/null +++ b/src/test/TestAccount.java @@ -0,0 +1,81 @@ +package test; + +import static org.junit.Assert.*; +import org.junit.Before; +import org.junit.Test; + +import code.Business_logic.Euro; +import code.Database.Account; + +public class TestAccount{ + + private Account account; + + @Before + public void setUp(){ + // Inizializza l'oggetto Euro prima di ogni test + account = new Account(5678, 8765, new Euro(5000, 0), new Euro(5000, 0)); + } + + @Test + public void testAccount(){ + // Verifica che l'oggetto Euro sia stato inizializzato correttamente + assertEquals(5678, account.getAccountNumber()); + assertTrue(account.validatePIN(8765)); + assertEquals(500000, account.getAvailableBalance().getValore()); + assertEquals(500000, account.getTotalBalance().getValore()); + } + + @Test + public void testValidatePIN(){ + // Verifica che il metodo validatePIN() restituisca true se il PIN è + // corretto + assertTrue(account.validatePIN(8765)); + // Verifica che il metodo validatePIN() restituisca false se il PIN è + // errato + assertFalse(account.validatePIN(9876)); + assertFalse(account.validatePIN(98765)); + assertFalse(account.validatePIN(1)); + } + + @Test + public void testGetAvailableBalance(){ + // Verifica che il metodo getAvailableBalance() restituisca il saldo disponibile + assertEquals(500000, account.getAvailableBalance().getValore()); + } + + @Test + public void testGetTotalBalance(){ + // Verifica che il metodo getTotalBalance() restituisca il saldo totale + assertEquals(500000, account.getTotalBalance().getValore()); + } + + @Test + public void testCredit(){ + // Verifica che il metodo credit() aggiunga il saldo al totale + account.credit(new Euro(100, 0)); + assertEquals(510000, account.getTotalBalance().getValore()); + // Ci si aspetta fallisca. + assertEquals(500000, account.getAvailableBalance().getValore()); + } + + @Test + public void testDebit(){ + account.debit(new Euro(100, 0)); + assertEquals(490000, account.getTotalBalance().getValore()); + // Ci si aspetta fallisca. + assertEquals(490000, account.getAvailableBalance().getValore()); + } + + @Test + public void testGetAccountNumber(){ + // Verifica che il metodo getAccountNumber() restituisca true + // se il numero dell'account è corretto + assertEquals(5678, account.getAccountNumber()); + // Verifica che il metodo getAccountNumber() restituisca false + // se il numero dell'account è errato + assertNotEquals(568, account.getAccountNumber()); + assertNotEquals(5688, account.getAccountNumber()); + assertNotEquals(8, account.getAccountNumber()); + } +} \ No newline at end of file From f1ba6a486bc3757cd732d0819965a6fe09f6374d Mon Sep 17 00:00:00 2001 From: sonysonia <134772764+sonysonia@users.noreply.github.com> Date: Tue, 5 Dec 2023 19:36:55 +0100 Subject: [PATCH 09/12] commit(4.4) aggiunta classe di test BankDatabase --- componenti.txt | 2 + src/code/Business_logic/Euro.java | 2 +- src/code/GUI/Withdrawal.java | 2 +- src/test/TestBankDatabase.java | 71 +++++++++++++++++++++++++++++++ src/test/TestEuro.java | 8 ++-- 5 files changed, 79 insertions(+), 6 deletions(-) create mode 100644 componenti.txt create mode 100644 src/test/TestBankDatabase.java diff --git a/componenti.txt b/componenti.txt new file mode 100644 index 0000000..ad63ffd --- /dev/null +++ b/componenti.txt @@ -0,0 +1,2 @@ +Charnelle Sonia Kengue Kentsop S4654827 +Mattia Cacciattore S4850100 \ No newline at end of file diff --git a/src/code/Business_logic/Euro.java b/src/code/Business_logic/Euro.java index f4fcca2..921f1e8 100644 --- a/src/code/Business_logic/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -37,7 +37,7 @@ public boolean ugualeA(Euro e){ else return false; } - public boolean minoreDi(Euro e){ + public boolean minoreOUgualeDi(Euro e){ if (valore <= e.getValore()) return true; else return false; diff --git a/src/code/GUI/Withdrawal.java b/src/code/GUI/Withdrawal.java index 5d3ee51..e4645df 100644 --- a/src/code/GUI/Withdrawal.java +++ b/src/code/GUI/Withdrawal.java @@ -51,7 +51,7 @@ public void execute() bankDatabase.getAvailableBalance( getAccountNumber()); // check whether the user has enough money in the account - if ( amount.minoreDi(availableBalance) ) + if ( amount.minoreOUgualeDi(availableBalance) ) { // check whether the cash dispenser has enough money if ( cashDispenser.isSufficientCashAvailable( amount) ) diff --git a/src/test/TestBankDatabase.java b/src/test/TestBankDatabase.java new file mode 100644 index 0000000..6aa9736 --- /dev/null +++ b/src/test/TestBankDatabase.java @@ -0,0 +1,71 @@ +package test; + +import static org.junit.Assert.*; +import org.junit.Before; +import org.junit.Test; +import code.Database.BankDatabase; +import code.Business_logic.Euro; + +public class TestBankDatabase { + + private BankDatabase bankDatabase; + + @Before + public void setUp() { + bankDatabase = new BankDatabase(); + } + + @Test + public void testAuthenticateUserValidCredentials() { + assertTrue(bankDatabase.authenticateUser(12345, 54321)); + } + + @Test + public void testAuthenticateUserInvalidCredentials() { + assertFalse(bankDatabase.authenticateUser(12345, 99999)); + } + + @Test + public void testGetAvailableBalance() { + Euro expectedBalance = new Euro(1000.0); + assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); + } + + @Test + public void testgetAvailableBalance() { + Euro expectedBalance = new Euro(1200.0); + assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); + } + + @Test + public void testGetTotalBalance() { + Euro expectedBalance = new Euro(1200.0); + assertEquals(expectedBalance.getValore(), bankDatabase.getTotalBalance(12345).getValore()); + } + + + @Test + public void testCredit() { + Euro amountToCredit = new Euro(500.0); + bankDatabase.credit(12345, amountToCredit); + Euro expectedBalance = new Euro(1500.0); + assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); + } + + @Test + public void testDebitSufficientFunds() { + Euro amountToDebit = new Euro(200.0); + bankDatabase.debit(12345, amountToDebit); + Euro expectedBalance = new Euro(1000.0); + assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); + } + + @Test + public void testDebitInsufficientFunds() { + Euro amountToDebit = new Euro(2000.0); + // Ensure that the balance doesn't change if there are insufficient funds + bankDatabase.debit(12345, amountToDebit); + Euro expectedBalance = new Euro(1200.0); + assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); + } +} diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java index b21d630..7e723f0 100644 --- a/src/test/TestEuro.java +++ b/src/test/TestEuro.java @@ -55,14 +55,14 @@ public void testUgualeA() { } @Test - public void testMinoreDi() { + public void testminoreOUgualeDi() { Euro euroMaggiore = new Euro(75, 0); Euro stessoEuro = new Euro(50, 75); Euro euroMinore = new Euro(50, 74); - assertTrue(euro.minoreDi(euroMaggiore)); - assertFalse(euro.minoreDi(stessoEuro)); // Ci si aspetta fallisca. - assertFalse(euro.minoreDi(euroMinore)); + assertTrue(euro.minoreOUgualeDi(euroMaggiore)); + assertFalse(euro.minoreOUgualeDi(stessoEuro)); // Ci si aspetta fallisca. + assertFalse(euro.minoreOUgualeDi(euroMinore)); } @Test From 16f6be2ddce3f551ec19e9e57ee0faf60d164815 Mon Sep 17 00:00:00 2001 From: sonysonia <134772764+sonysonia@users.noreply.github.com> Date: Tue, 5 Dec 2023 20:06:53 +0100 Subject: [PATCH 10/12] commit(4.5) tolto commenti inutili --- src/test/TestEuro.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java index 78ec5f9..61c9211 100644 --- a/src/test/TestEuro.java +++ b/src/test/TestEuro.java @@ -61,11 +61,9 @@ public void testminoreOUgualeDi() { Euro euroMinore = new Euro(50, 74); assertTrue(euro.minoreOUgualeDi(euroMaggiore)); -<<<<<<< HEAD assertFalse(euro.minoreOUgualeDi(stessoEuro)); // Ci si aspetta fallisca. -======= + assertTrue(euro.minoreOUgualeDi(stessoEuro)); ->>>>>>> 9e3bc295230e6c2c5e787ce3a5717b42af299ad8 assertFalse(euro.minoreOUgualeDi(euroMinore)); } From aad617f6eb2eb52751ddc735969fe1819e924149 Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Tue, 5 Dec 2023 20:30:27 +0100 Subject: [PATCH 11/12] Commit (merge) Aggiunto controllo sul debito in BankDatabase. --- src/code/Database/BankDatabase.java | 5 ++++- src/test/TestBankDatabase.java | 10 +++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index dec8a09..1addd84 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -64,7 +64,10 @@ public void credit( int userAccountNumber, Euro amount ) // debit an amount from of Account with specified account number public void debit( int userAccountNumber, Euro amount ) { - getAccount( userAccountNumber ).debit( amount ); + // Check if the account has enough money to withdraw + if(getAccount( userAccountNumber ).getAvailableBalance().getValore() >= amount.getValore()){ + getAccount( userAccountNumber ).debit( amount ); + } } // end method debit } // end class BankDatabase diff --git a/src/test/TestBankDatabase.java b/src/test/TestBankDatabase.java index 6aa9736..77c106e 100644 --- a/src/test/TestBankDatabase.java +++ b/src/test/TestBankDatabase.java @@ -33,7 +33,7 @@ public void testGetAvailableBalance() { @Test public void testgetAvailableBalance() { - Euro expectedBalance = new Euro(1200.0); + Euro expectedBalance = new Euro(1000.0); assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); } @@ -46,17 +46,17 @@ public void testGetTotalBalance() { @Test public void testCredit() { - Euro amountToCredit = new Euro(500.0); + Euro amountToCredit = new Euro(300.0); bankDatabase.credit(12345, amountToCredit); Euro expectedBalance = new Euro(1500.0); - assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); + assertEquals(expectedBalance.getValore(), bankDatabase.getTotalBalance(12345).getValore()); } @Test public void testDebitSufficientFunds() { Euro amountToDebit = new Euro(200.0); bankDatabase.debit(12345, amountToDebit); - Euro expectedBalance = new Euro(1000.0); + Euro expectedBalance = new Euro(800.0); assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); } @@ -65,7 +65,7 @@ public void testDebitInsufficientFunds() { Euro amountToDebit = new Euro(2000.0); // Ensure that the balance doesn't change if there are insufficient funds bankDatabase.debit(12345, amountToDebit); - Euro expectedBalance = new Euro(1200.0); + Euro expectedBalance = new Euro(1000.0); assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); } } From c3224eb1323346ae763115a0531378c9de44fcc8 Mon Sep 17 00:00:00 2001 From: MattiaCacciatore Date: Tue, 5 Dec 2023 20:36:52 +0100 Subject: [PATCH 12/12] Conflitto merge risolto. --- src/test/TestBankDatabase.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/TestBankDatabase.java b/src/test/TestBankDatabase.java index 77c106e..aecdfe2 100644 --- a/src/test/TestBankDatabase.java +++ b/src/test/TestBankDatabase.java @@ -65,6 +65,7 @@ public void testDebitInsufficientFunds() { Euro amountToDebit = new Euro(2000.0); // Ensure that the balance doesn't change if there are insufficient funds bankDatabase.debit(12345, amountToDebit); + // Ultimo commento. Euro expectedBalance = new Euro(1000.0); assertEquals(expectedBalance.getValore(), bankDatabase.getAvailableBalance(12345).getValore()); }