From 8ef1b9bfb1e0dd30bdb5fdf4671db7313b6ac8d0 Mon Sep 17 00:00:00 2001 From: Kevin ZHANG <36391958+GodDeath7th@users.noreply.github.com> Date: Mon, 17 Sep 2018 11:57:35 +1000 Subject: [PATCH] change --- classes/swen90006/machine/BoundaryTests.class | Bin 4033 -> 4662 bytes .../swen90006/machine/PartitioningTests.class | Bin 3140 -> 3700 bytes test/swen90006/machine/BoundaryTests.java | 85 ++++++++++++------ test/swen90006/machine/PartitioningTests.java | 82 +++++++++++++---- 4 files changed, 125 insertions(+), 42 deletions(-) diff --git a/classes/swen90006/machine/BoundaryTests.class b/classes/swen90006/machine/BoundaryTests.class index 2ba0555264cb67e19f67bce50ede5c9c692d5d05..39995919ae3402b67109053be90965559d759222 100644 GIT binary patch literal 4662 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 YB^(C~lVAzQkt+354mL}jXlf|~0KdiY-T(jq literal 4033 zcmX^0Z`VEs1_l#`HCznl4DlQc30w?`3`txJ$qXs%45?fUX$<LH3>gfW><n3)4A~4h z91OW!40#OsTnrox1zZf-422vFMO+MK48`mWC0q;w4DleMl$8Mjn7J6r7|J;qDqsRk z91N8l3{@Nq)i4nj4u%>IhFT7WIu3?<m>??$Lj#P>#=+1CW3zKGG;uIAb1<}UFtl<o zv~e)Bb1-ypFm!S-ba60rb1?L9F!ZuB^szJaGcvH*Waed-*fBCNYiNcsGO#%3r=&76 z2o$9zrg-KRmlTyImt^MW6*DrZX!v9$mL=-vB<7{-2bUCO=A~O}LWD|7GIR8OGK)*B z85wwkOA?c_eG>~p5|eUL!M3EbGfZG-n8?nM#mK-JoSB}NSW;S)%E(|rgo!o~8;~uv z1KE<4Uz(SaSX3F3T3lkt$iU@Vk(^opb*W@fX<kWYZfaO&ab{9Zs$*VWen}!!PQWL> zC|y6RG%vG6AEX!EEF(q+USzY4(fB54d{Z>O85-Xljc<X*w`64CL$=S*0A0WkUBC!k zz!+V?1YN)sUBC=oz#Lt`0$l*zrAFv3H9~i(5xPr_jCmL=7%UkXSVKeHbS>B!Ch#y! zVwlX%FolO<D#J8J1_AUG#?COEhhYZ8Om>D@JPflL<}fk{Bb317oSk7V55qi$`HT!2 zo_S@7IhiR6nRx}JB?@VoIjM>Y8pWU_SyGgkoT`wPpOcecUaZN^uz-hQA;TgbhQ$m^ zco>#4EMsKgORY%EEyzhN)^`ds)GOv;ux7AfWRNT_PtCJ5FfcIF&rM9u$jnRC_l3|r z49gi-ursXWVOYhm8dbZIUNNeGF}i>Wx_~LVfEl`gIl6!ax_~7}fFIc#1{flS7$RWD zqUZv<7DWW?Toe(odr?Hd4n`3HyBI|T>|_)X3^yBLxY-E9%|;k*HUhg@9y79>kV=YT zlqBY#l$DxX!pI;2PEvW9`TEHjiABY!CHl?~nvsDIECny$7#Y~p@{9Zub5j`^^l+D6 zSd6k}WRL`#1(E|LOMSP@oYdgT;*!+dVnzn8^wbiU)U?FXoDxO`84YN;ibbt8vUAbQ zVPs%WPb~>ZEXiPGu*TxLXw0${-6D`?Ygi^jvA&p*fd^D6IOgQ|Wagz7Gcq_pt$-^7 zYlheX5<?42Y?TFaeg_8yBLj14Q4u49D8!h|eEoo;%)FA|lA_eaT)4wfg&7&x3qXo; z@)#LJp>9I1FF@5AKUf90Y6=0B1B?t3P?e}=S%Va_q*i2>Ffy=cc!GHBsTHZor6sA1 z48l+?@Z?~v>B-0-fT&O$i;Gi>N*Eb<62T1D!qUW?Vnzm54KFXvFa|{iGX`^TjW5Z- z2r35|7#XY>7#IW@7#SED7#LW!wlgqp1S?<y6+H}0VCgglW(H8rZY;#KgMrzX(QgL> zi#GFK2G(s1Y&ts_*!`9>NLsOMV&D|w+Qz^w31V$y;9=Rpz^l7~fsuiOL4rY=frEjO z!Ipu6L6U*#KZ7&_3p;}yJA*wtg9AH*BLgElgOezOGXnzy6N3u_BZDi0B?B|qZVd(& z24)5Z1{p0OzU>VBKD!wNBDXUL`s!$JV-RW;VG!QIAPRA@8v_Fa3)nh$1_lN;21W)C z1_lO322X5eiD5HKoS<1=*vyi|W)@+0d1Et6iafJ?u$d)|%`6#$e)Pp=mK=Fz`C&6l z9-CQ&!^<C=SqkKt6@bkwMQmm%5e%<DY-XuoGfS1ASwYy$QpaYN20^oev6-cX%`C!x z48dlWHa4>er>{_KX6cY;Rv0$3bjdR-9Gh8s<e3$L%`AQL%!<TjmH~NYMPW0`kUX=Z x;by5p%V;SrAtOw)xCo}y7`RDDrM)qxNg@n{b5JZcvrNb{D-N4krsSB#003#UP)h&+ diff --git a/classes/swen90006/machine/PartitioningTests.class b/classes/swen90006/machine/PartitioningTests.class index b084b43b945ece63ee63632a5d84c0904474e340..3fb5d6b8cf0b8557c393193a97599731d61b4f59 100644 GIT binary patch literal 3700 zcmX^0Z`VEs1_l#`>0Ast489x;eq0Rx3;|pWfeb<H48dFsAq=5h3}Fo6><kf{43P{` z91PK13^5F`Tnroxaa;_M4DlQc30w@?42kRvNn8v9489;DnUw(oxVRWn7*aVH(%2c& zLCg#ehD;8IEDnZjc7_}dhFlJYJh0OG|NsAUFyyoT|NsAg0|NsC2SWh|Lm>x45eGvt z2SW)5Ln#MC89PHcJ3|E{1Dj1|US^3MBLlOBW*8#_i*tTTDkFnHQEFm}XI^nhQE75X zW`15VBZG>DPgY`CqJB<dUb=p8Nl|8Ay0s=msI(+AN8cy2xWt-~fj77$F*(~eu^=Qd zDJK<dOE5b_B|AeEJ3|B`17~n%dR}5lX;CU8g9Q;L+CXeTw$#p=k%6xuv8W^y<g$>| z;u1qf1}@i%<kSL?KrthOWKd~dNoH<pSY~l%QckL4US57lB2-SmC%-6NKdUq^vqT@H z7sD_kc7`N$3yjePOwa{P(FM%V1<cU}EYJlk85#Id{bhh5Vu&GP#K<6ks>|3AQ^*KI zp9v3xE`uH;18ZoAo2~^rLnRMGHA4+MLoE+O9YZ}Mg8+JLvokdCFf=kWu`@LDFtjkV zGBOAwl)!_ZouQ3~p`D?FkwL>VuPiYqGesdYub{L<AuTf}RZ&5s7?eCpiV~Ak71Hu^ za`MZIHQ5<Dc^JAFx_KCS7<zda`WX5d8Te8w5_1c3Qj7InoelMhc^C{B3>g_Di_25< zEDa0{%=B{;lQS~&QuTcyG!MfBhKcM9lXw^=GfY9%ZlqVt$e@9#(=R_LwWPEtFDx;q zG!^cC9)_t5(@+gC1{r|tAQN-}Q;>izrWMc-K*~sPdr++~0~vs9g*m!_1-gJGNPr(X zm<%vP3^7E&fgy;j%UBnz3QY{G4#jk^r<F1N7y!$OnR)4;3{{Mhbo`UDQj<#<86?0- zB`-5yKRF|@s5rGm-x)$PGVp<=;AIFS1AAJ2kzZnNDkFm)?h*ovQPzwMl3=qya-ig< z@0OX98eCailA2r0$iS7JTH=zLmROoo!pI<_0WG_*sI^9RE}A)v4D9KtB>{;g8H^0p zSX>v4Sze)A1k!8`%RDI77c(;OfC^s6oE)FbywqYw1_!7WaAjc45IaC(Xn~2XKt|5T z;Gke+U`{P6Vq_477?YW=A5fH;R}x%Ol$w|ecNnTLBLjN@NKsB6BZDZ^O~_?3sOsPc zs{j}OA)x%t$RGh#iE5TLNHI%lMP>;j1B-?yh{v8<k(yjulFG;+4AlZp4%V8Uj0^(# z@G{%6xHz?_gpq+K5zKHcEKSTQW@KR1@bUtg#03!!DJo3`nI5GX#-PZc&7cFWK?NBY zL1i8TBZEEz0|SW1$iTqBs<oYgaU)m(6R4PBU;<00F)%ZLs#9YjrX38-zKni57+AEK z_cE|<V_?(S!NBgfoI%oxWfKFZ5Z5*aZb=Yp8v_r^4hCM`4GfG791Ic+(hM97j0{E$ z3=EPCO#d0A8CcjEjM*7X*cnXO8O#_M*%{1587vqW7?>C=85kL?81xvJ!FFpfurM$) zFfhny3Gr=b;P=_hAP~8oLC{x6dmDpLs|bVe4hB((i>(<L7+Ap8*)T9LurV+)*fKCM zFf!P|%?e~-VqjrlU{KT&62mYnd^rQRpYA~h@f{2j8yOfG_!&eQB;c+V1G!p)ff?*- zGj;}hu#?#ta9Qer%~DAkTk43-QYji+>V(ZwX`GhIP$hVsu~{lhV@qA&mLereISfl% zMHu7>CQ4UqW+`GbONpRaZg8`Z61WP6S+E37ofvS(W~nNTE%m@=sTz$f^~7eWI*l#$ k!e*%kjV<-YW~nBPE%kw0ss=6UrL=^!Ff485B9IRl0Il^7H~;_u literal 3140 zcmX^0Z`VEs1_l#`DO?Qt4E`Jp0bC4$3_)BB!3-hn453^MVGQA13=s^G><m$y4ABfR z91O8s3~>zcTnrox30w@(42c{JNn8wi49V;aDO?N!4E`V@m6ZVkIJp?o7}7ZyGGGGC z91NKp3|Slu*)S0%4u%{KhFlnzor56{#%ASU$md`v;9w}^U?}2XDCS@&;b16*$+ECB zl(93EGcvH*Waed-*fBCNYiNcsGO#%3r=&762o$9zrg-KRmlTyImt^MW6*DrZX!v9$ zmL=-vB<7{-2bUCO=A~O}LWD|7GIR8OGK)*B85wwkOA?c_eG>~p5|eUL!M235GgPoM zRI)QfF*0xlXQt;RmXsEyGBQ{YVWJJh24qX^tQi^j3KEM-GC?j2Ni8lhWMtrStw>HS z00|T`GDrrM=9OgTriNt}XC~#OI_Bl&mn1^v1bp&~()F`S^D;~HL3%L^GeS4r7+t^w zUBDDwzzki$99_TyUBHr&fgjaV1{flS7$QcD3<9XSj14h`j4<?>@GuxK7&0=jhK9K5 zTCg)z@Gw*{RI@YG@G#Ue)G;y$phq=3Lp={e14AP_LlX}}GeZj_gD^q~JnY#ST6q}S z7}^;bG(7Xl5_2+B6f*M)N=p>dGILTD6*P)LX``elF*#KsEk7qGzr0wJouPw=p_8GD zhoPIHhlin;p^uS)FSQ~uw;(6ASl`vzP_LMW!I;5>kwLP!JT=eKz`(#vKQ}QsBQq~m z-xosjF!VD_U}u=f!!U_qGOBhXy<$`WV{`!%bOBRz0W)*~b94a<bOB3{06(%f3@}6t zF+{+Q6-3r$tP56!CI(iAVmjCp%9sHZ0LvzsdFi0kUW^j8{z+M>$t8>o65y!J%gonL z&PXgOPA$=QhR}=*d|)Yf24`eoPs=azOUzAWWYEK%eX$s2&B!1LHVY&NN)GyNnK`M! zmBl5gxy6hOT<NJLE~#mWr8y;x3^E$ff(46OYh>r5nZwAyo}O9~kXVwz$Y71db<voG z3A#lf&DOBQjbeQ<BLfepRCLVA@yX0fEoNkJfLZ}p2G$I*10;qPnAl27<a`DW3PuLz z)S@Cr22qGHnfdwwMVWae!6ikhiMeoxp$aoHuor+7<>WCkh(g_jTwsFAb$+l4aM>IJ z%72Uu5>S<>W?6$2v!qsJmM}7~Xn2Bn?5P#0$)zQ!j10n1E%4-Et?9|gAb==P9gB-o zi%J+7coM-3*TT}ooMJ`>Rt+yN%`gT<20aFSaMdQrzz8aT7#JCh7#J8pJVpiv23D=@ z42&DW3Yb7yo`DH0oyNe-0IIf(g_w3QF#9t4?O<ThX5P!dx{ZNNX9okj-*N^?E0#?R zoI+gN7`P=ttZfWDEISx@bvH0DGH@_RFi10SFfcNhGB7YmGBEvTkY-?EXE0-DFlT45 zU}vyoU}R^o5@oPvU|?Wkuwh_iuw^i0U<TW*!N9`6%)r1Pqb0<*oq^wHH-kXrb_PLT z9qnxlLaibU!aEp5AuhIKU|?VYTW8O}z`(}9$l$=hz`)4hh|Mf9Y-WiQG|LH_S(4<L z<&4cNDQspD_M;0nv!t<^B}34UuGq|yBhM^1Y-Y)0GfRP>yWFvvrG(8aWrAjTz|B&F zrY|WiAyrJXxCol$iOnQ6a!m4qn}n3+)iF&HVIb^3Z)|31kY|<;+$^N9(!?~2a9H_b ZGf9gall<T&A%>rb!|UIs{^n0RXn3teXG; diff --git a/test/swen90006/machine/BoundaryTests.java b/test/swen90006/machine/BoundaryTests.java index d3a53c0..221ae38 100644 --- a/test/swen90006/machine/BoundaryTests.java +++ b/test/swen90006/machine/BoundaryTests.java @@ -32,138 +32,173 @@ public class BoundaryTests public void boundaryTest1() throws Exception { final List<String> lines = readInstructions("examples/BV1.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); + assertEquals(m.execute(lines), -65535); } @Test public void boundaryTest2() throws Exception { final List<String> lines = readInstructions("examples/BV2.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 2); + assertEquals(m.execute(lines), 65535); } - @Test + @Test() public void boundaryTest3() throws Exception { final List<String> lines = readInstructions("examples/BV3.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void boundaryTest4() throws Exception { final List<String> lines = readInstructions("examples/BV4.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void boundaryTest5() throws Exception { final List<String> lines = readInstructions("examples/BV5.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 2); } @Test public void boundaryTest6() throws Exception { final List<String> lines = readInstructions("examples/BV6.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 2); } @Test public void boundaryTest7() throws Exception { final List<String> lines = readInstructions("examples/BV7.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void boundaryTest8() throws Exception { final List<String> lines = readInstructions("examples/BV8.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void boundaryTest9() throws Exception { final List<String> lines = readInstructions("examples/BV9.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 5); + assertEquals(m.execute(lines), -2147483648); } @Test public void boundaryTest10() throws Exception { - final List<String> lines = readInstructions("examples/BV10.s"); + final List<String> lines = new ArrayList<String>(); + lines.add("MOV R0 65535"); + lines.add("MOV R1 32768"); + lines.add("MOV R2 32767"); + lines.add("MUL R0 R0 R1"); + lines.add("ADD R0 R0 R2"); + lines.add("RET R0"); Machine m = new Machine(); - assertEquals(m.execute(lines), 6); + assertEquals(m.execute(lines), 2147483647); } @Test public void boundaryTest11() throws Exception { final List<String> lines = readInstructions("examples/BV11.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 7); + assertEquals(m.execute(lines), 2147483647); } @Test public void boundaryTest12() throws Exception { final List<String> lines = readInstructions("examples/BV12.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 5); + assertEquals(m.execute(lines), -2147483648); } @Test public void boundaryTest13() throws Exception { final List<String> lines = readInstructions("examples/BV13.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 0); } @Test public void boundaryTest14() throws Exception { final List<String> lines = readInstructions("examples/BV14.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 0); } @Test public void boundaryTest15() throws Exception { final List<String> lines = readInstructions("examples/BV15.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void boundaryTest16() throws Exception { final List<String> lines = readInstructions("examples/BV16.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 5); + } @Test public void boundaryTest17() throws Exception { final List<String> lines = readInstructions("examples/BV17.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 2); } @Test public void boundaryTest18() throws Exception { final List<String> lines = readInstructions("examples/BV18.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 2); } @Test public void boundaryTest19() throws Exception { final List<String> lines = readInstructions("examples/BV19.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), -2); } @Test public void boundaryTest20() throws Exception { final List<String> lines = readInstructions("examples/BV20.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 1); + assertEquals(m.execute(lines), 0); } @Test public void boundaryTest21() throws Exception { final List<String> lines = readInstructions("examples/BV21.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 6); + assertEquals(m.execute(lines), 1); } @Test public void boundaryTest22() throws Exception { final List<String> lines = readInstructions("examples/BV22.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 6); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof NoReturnValueException); + } } @Test public void boundaryTest23() throws Exception { final List<String> lines = readInstructions("examples/BV23.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 6); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof NoReturnValueException); + } } } diff --git a/test/swen90006/machine/PartitioningTests.java b/test/swen90006/machine/PartitioningTests.java index d7e2d2f..e34e54d 100644 --- a/test/swen90006/machine/PartitioningTests.java +++ b/test/swen90006/machine/PartitioningTests.java @@ -29,103 +29,151 @@ public class PartitioningTests public void partitionTest1() throws Exception{ final List<String> lines = readInstructions("examples/EC1.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 9); + assertEquals(m.execute(lines), 10); } @Test public void partitionTest2() throws Exception{ final List<String> lines = readInstructions("examples/EC2.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); - + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof NoReturnValueException); + } } @Test public void partitionTest3() throws Exception{ final List<String> lines = readInstructions("examples/EC3.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 3); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof NoReturnValueException); + } } @Test public void partitionTest4() throws Exception{ final List<String> lines = readInstructions("examples/EC4.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 9); - + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof NoReturnValueException); + } } @Test public void partitionTest5() throws Exception{ final List<String> lines = readInstructions("examples/EC5.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 2); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void partitionTest6() throws Exception{ final List<String> lines = readInstructions("examples/EC6.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 2); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } } @Test public void partitionTest7() throws Exception{ final List<String> lines = readInstructions("examples/EC7.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 7); + assertEquals(m.execute(lines), 2147483647); } @Test public void partitionTest8() throws Exception{ final List<String> lines = readInstructions("examples/EC8.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 5); + assertEquals(m.execute(lines), -2147483648); } @Test public void partitionTest9() throws Exception{ final List<String> lines = readInstructions("examples/EC9.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 1); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } + } @Test public void partitionTest10() throws Exception{ final List<String> lines = readInstructions("examples/EC10.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 1); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } + } @Test public void partitionTest11() throws Exception{ final List<String> lines = readInstructions("examples/EC11.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 5); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } + } @Test public void partitionTest12() throws Exception{ final List<String> lines = readInstructions("examples/EC12.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 5); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } + } @Test public void partitionTest131() throws Exception{ final List<String> lines = readInstructions("examples/EC13-1.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 1); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } + } @Test public void partitionTest132() throws Exception{ final List<String> lines = readInstructions("examples/EC13-2.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 1); + try { + m.execute(lines); + }catch(Exception e) { + assertTrue(e instanceof InvalidInstructionException); + } + } @Test public void partitionTest14() throws Exception{ final List<String> lines = readInstructions("examples/EC14.s"); Machine m = new Machine(); - assertEquals(m.execute(lines), 4); + assertEquals(m.execute(lines), 1); } } -- GitLab