diff --git a/test/swen90006/machine/PartitioningTests.java b/test/swen90006/machine/PartitioningTests.java
index 86217ede14dae720d529a7da1efc26410100565a..1e4efeb68b337ce0fb816f4811e7f026895fd67a 100644
--- a/test/swen90006/machine/PartitioningTests.java
+++ b/test/swen90006/machine/PartitioningTests.java
@@ -72,7 +72,7 @@ public class PartitioningTests
   }
 
 
-  @Test public void EC1TestCase()
+  @Test public void TC1TestCase()
   {
     List<String> list = new ArrayList<String>();
     list.add("RET R1");
@@ -81,137 +81,169 @@ public class PartitioningTests
     assertEquals(machine.execute(list), actual);
   }
 
-  @Test(expected = NoReturnValueException.class)
-  public void EC2ExceptionTest()
+  @Test(expected = InvalidInstructionException.class)
+  public void TC2ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("ADD R1 R2 R3");
+    list.add("RET R-2");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC3ExceptionTest()
+  public void TC3ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("CMP R1 R2");
+    list.add("RET R33");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC4ExceptionTest()
+  public void TC4ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("ADD R1 R2 R-1");
+    list.add("ADD R3 R2 R-2");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC5ExceptionTest()
+  public void TC5ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("CMP R32 R2 R3");
+    list.add("LDR R1 R2 -66666");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
-  @Test public void EC6TestCase()
+  @Test(expected = NoReturnValueException.class)
+  public void TC6ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 2");
-    list.add("MOV R2 3");
-    list.add("ADD R3 R1 R2");
-    list.add("RET R3");
+    list.add("STR R1 10 R2");
     Machine machine = new Machine();
-    int actual = 5;
-    assertEquals(machine.execute(list), actual);
+    machine.execute(list);
   }
 
-  @Test public void EC7TestCase()
+  @Test(expected = InvalidInstructionException.class)
+  public void TC7ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 2");
-    list.add("MOV R2 3");
-    list.add("ADD R3 R1 R2");
-    list.add("RET R2");
-    list.add("RET R3");
+    list.add("LDR R1 R2 66666");
     Machine machine = new Machine();
-    int actual = 3;
-    assertEquals(machine.execute(list), actual);
+    machine.execute(list);
   }
 
-  @Test(expected = NoReturnValueException.class)
-  public void EC8ExceptionTest()
+  @Test(expected = InvalidInstructionException.class)
+  public void TC8ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 2");
-    list.add("MOV R2 3");
-    list.add("ADD R3 R1 R2");
+    list.add("SUB R1 R2 R33");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC9ExceptionTest()
+  public void TC9ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 2");
-    list.add("MOV R2 3");
     list.add("CMP R1 R2");
-    list.add("ADD R3 R1 R2");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC10ExceptionTest()
+  public void TC10ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 6");
-    list.add("MOV R2 -66666");
-    list.add("ADD R3 R1 R2");
-    list.add("RET R3");
+    list.add("MOV R1 1");
+    list.add("MOV R2 2");
+    list.add("DIV R33 R2 R1");
+    list.add("RET R33");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC11ExceptionTest()
+  public void TC11ExceptionTest()
+  {
+    List<String> list = new ArrayList<String>();
+    list.add("MOV R1 1");
+    list.add("JZ R1 -66666");
+    list.add("RET R1");
+    Machine machine = new Machine();
+    machine.execute(list);
+  }
+
+  @Test public void TC12TestCase()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 6");
-    list.add("MOV R2 66666");
-    list.add("ADD R3 R1 R2");
+    list.add("MOV R1 1");
+    list.add("MOV R2 2");
+    list.add("MUL R3 R1 R2");
     list.add("RET R3");
     Machine machine = new Machine();
+    int actual = 2;
+    assertEquals(machine.execute(list), actual);
+  }
+
+  @Test public void TC13TestCase()
+  {
+    List<String> list = new ArrayList<String>();
+    list.add("MOV R1 1");
+    list.add("MOV R2 2");
+    list.add("MUL R3 R1 R2");
+    list.add("RET R1");
+    list.add("RET R3");
+    Machine machine = new Machine();
+    int actual = 1;
+    assertEquals(machine.execute(list), actual);
+  }
+
+  @Test(expected = NoReturnValueException.class)
+  public void TC14ExceptionTest()
+  {
+    List<String> list = new ArrayList<String>();
+    list.add("MOV R1 1");
+    list.add("MOV R2 2");
+    list.add("MUL R3 R1 R2");
+    Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC12ExceptionTest()
+  public void TC15ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 6");
-    list.add("MOV R-2 7");
-    list.add("ADD R3 R1 R-2");
-    list.add("RET R3");
+    list.add("MOV R1 1");
+    list.add("JZ R1 66666");
+    list.add("RET R1");
     Machine machine = new Machine();
     machine.execute(list);
   }
 
   @Test(expected = InvalidInstructionException.class)
-  public void EC13ExceptionTest()
+  public void TC16ExceptionTest()
   {
     List<String> list = new ArrayList<String>();
-    list.add("MOV R1 6");
-    list.add("MOV R38 7");
-    list.add("ADD R3 R1 R38");
-    list.add("RET R3");
+    list.add("MOV R-1 -1");
+    list.add("RET R-1");
+    Machine machine = new Machine();
+    machine.execute(list);
+  }
+
+  @Test(expected = InvalidInstructionException.class)
+  public void TC17ExceptionTest()
+  {
+    List<String> list = new ArrayList<String>();
+    list.add("MOV R1 1");
+    list.add("CMP R1 R2");
+    list.add("RET R1");
     Machine machine = new Machine();
     machine.execute(list);
   }
+
   //Read in a file containing a program and convert into a list of
   //string instructions
   private List<String> readInstructions(String file)