diff --git a/test/swen90006/machine/PartitioningTests.java b/test/swen90006/machine/PartitioningTests.java
index 5494b44f4615351a610fc7b0b649d30b4b2d0a40..b8fbdb92515f3146220b73670815bf8036647505 100644
--- a/test/swen90006/machine/PartitioningTests.java
+++ b/test/swen90006/machine/PartitioningTests.java
@@ -25,27 +25,238 @@ public class PartitioningTests
   }
 
   //Any method annotation with "@Test" is executed as a test.
-  @Test public void aTest()
+  
+  
+  @Test(expected = swen90006.machine.NoReturnValueException.class)
+  public void ec3Test()
   {
     //the assertEquals method used to check whether two values are
     //equal, using the equals method
-    final int expected = 2;
-    final int actual = 1 + 1;
-    assertEquals(expected, actual);
+	List<String> list = new ArrayList<String>();
+    list.add("jmp 10");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
   }
 
-  @Test public void anotherTest()
+  @Test public void ec4Test()
   {
-    List<String> list = new ArrayList<String>();
-    list.add("a");
-    list.add("b");
-
-    //the assertTrue method is used to check whether something holds.
-    assertTrue(list.contains("a"));
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("jmp 1");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 0);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec5Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("jmp 66666");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  } 
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec6Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("ret R40");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test public void ec7Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("ret R20");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 0);
   }
+  
+  @Test public void ec8Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R1 5");
+    list.add("ret R1");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 5);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec9Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R1 66666");
+    list.add("ret R1");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
 
-  //Test test opens a file and executes the machine
-  @Test public void aFileOpenTest()
+  @Test(expected = swen90006.machine.NoReturnValueException.class)
+  public void ec11Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("jz R1 10");
+    list.add("ret R1");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list),NoReturnValueException);
+  }
+  
+  @Test public void ec12Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("jz R1 1");
+    list.add("ret R1");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 0);
+  }
+  
+  @Test public void ec13Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R0 5");
+	list.add("ldr R0 R1 0");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 0);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec14Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R0 5");
+	list.add("ldr R0 R1 66666");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec15Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R1 66666");
+	list.add("ldr R0 R1 0");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec16Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+	list.add("ldr R0 R40 0");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec17Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+	list.add("str R0 0 R40");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec18Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R1 66666");
+	list.add("str R1 0 R0");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test public void ec20Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();
+    list.add("mov R1 10");
+    list.add("mov R2 20");    
+	list.add("add R0 R1 R2");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 30);
+  }
+  
+  @Test(expected = swen90006.machine.InvalidInstructionException.class)
+  public void ec21Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();   
+	list.add("add R0 R1 R40");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    m.execute(list);
+  }
+  
+  @Test public void ec22Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();   
+    list.add("mov R1 10");
+    list.add("mov R2 5");
+	list.add("div R0 R1 R2");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 2);
+  }
+  
+  @Test public void ec23Test()
+  {
+    //the assertEquals method used to check whether two values are
+    //equal, using the equals method
+	List<String> list = new ArrayList<String>();   
+    list.add("mov R1 10");
+    list.add("mov R2 0");
+	list.add("div R0 R1 R2");
+    list.add("ret R0");	
+    Machine m = new Machine();
+    assertEquals(m.execute(list), 0);
+  }
+  
+    @Test public void aFileOpenTest()
   {
     final List<String> lines = readInstructions("examples/array.s");
     Machine m = new Machine();