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%&GTrb!|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