Skip to content
Snippets Groups Projects
Commit 07d09e6a authored by Hongyi Chen's avatar Hongyi Chen
Browse files

Replace BoundaryTests.java

parent ff0c4fea
No related branches found
No related tags found
No related merge requests found
......@@ -42,7 +42,9 @@ public class BoundaryTests
//the assertEquals method used to check whether two values are
//equal, using the equals method
List<String> list = new ArrayList<String>();
list.add("MOV R31 31");
list.add("MOV R1 1");
list.add("MOV R2 2");
list.add("ADD R31 R1 R2");
list.add("RET R31");
Machine machine = new Machine();
int actual = 31;
......@@ -55,7 +57,9 @@ public class BoundaryTests
//equal, using the equals method
List<String> list = new ArrayList<String>();
list.add("MOV R1 -65535");
list.add("RET R1");
list.add("MOV R2 1");
list.add("DIV R3 R1 R2");
list.add("RET R3");
Machine machine = new Machine();
int actual = -65535;
assertEquals(machine.execute(list), actual);
......@@ -67,9 +71,11 @@ public class BoundaryTests
//equal, using the equals method
List<String> list = new ArrayList<String>();
list.add("MOV R1 65535");
list.add("RET R1");
list.add("MOV R2 1");
list.add("SUB R3 R1 R2");
list.add("RET R3");
Machine machine = new Machine();
int actual = 65535;
int actual = 65534;
assertEquals(machine.execute(list), actual);
}
......@@ -102,10 +108,10 @@ public class BoundaryTests
@Test public void B13TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 0");
list.add("MOV R1 65535");
list.add("MOV R2 100");
list.add("STR R1 0 R2");
list.add("LDR R3 R1 0");
list.add("STR R1 -65535 R2");
list.add("LDR R3 R1 -65535");
list.add("RET R3");
Machine machine = new Machine();
int actual = 100;
......@@ -115,10 +121,10 @@ public class BoundaryTests
@Test public void B14TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 60000");
list.add("MOV R1 -65535");
list.add("MOV R2 100");
list.add("STR R1 5535 R2");
list.add("LDR R3 R1 5535");
list.add("STR R1 65535 R2");
list.add("LDR R3 R1 65535");
list.add("RET R3");
Machine machine = new Machine();
int actual = 100;
......@@ -128,32 +134,96 @@ public class BoundaryTests
@Test public void B15TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R3 0");
list.add("MOV R1 0");
list.add("MOV R1 65535");
list.add("MOV R2 100");
list.add("STR R1 -1 R2");// instruction does nothing
list.add("LDR R3 R1 -1");// instruction does nothing
list.add("STR R1 0 R2");// instruction does nothing
list.add("LDR R3 R1 0");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 0;
int actual = 100;
assertEquals(machine.execute(list), actual);
}
@Test public void B16TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R3 2");
list.add("MOV R1 60000");
list.add("MOV R1 0");
list.add("MOV R2 100");
list.add("STR R1 65535 R2");// instruction does nothing
list.add("LDR R3 R1 65535");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 100;
assertEquals(machine.execute(list), actual);
}
@Test public void B17TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 65534");
list.add("MOV R2 100");
list.add("MOV R3 333");
list.add("STR R1 -65535 R2");// instruction does nothing
list.add("LDR R3 R1 -65535");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 333;
assertEquals(machine.execute(list), actual);
}
@Test public void B18TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 -65535");
list.add("MOV R2 100");
list.add("MOV R3 333");
list.add("STR R1 65534 R2");// instruction does nothing
list.add("LDR R3 R1 65534");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 333;
assertEquals(machine.execute(list), actual);
}
@Test public void B19TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 65535");
list.add("MOV R2 100");
list.add("MOV R3 333");
list.add("STR R1 1 R2");// instruction does nothing
list.add("LDR R3 R1 1");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 333;
assertEquals(machine.execute(list), actual);
}
@Test public void B20TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 1");
list.add("MOV R2 100");
list.add("STR R1 5536 R2");// instruction does nothing
list.add("LDR R3 R1 5536");// instruction does nothing
list.add("MOV R3 333");
list.add("STR R1 65535 R2");// instruction does nothing
list.add("LDR R3 R1 65535");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 2;
int actual = 333;
assertEquals(machine.execute(list), actual);
}
//-------------------------------
//To test an exception, specify the expected exception after the @Test
@Test(expected = NoReturnValueException.class)
public void B0anNoReturnValueExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add(""); //EMPTY LIST
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void B3anInvalidInstructionExceptionTest()
{
......@@ -218,16 +288,6 @@ public class BoundaryTests
}
//To test an exception, specify the expected exception after the @Test
@Test(expected = InvalidInstructionException.class)
public void EC3anInvalidInstructionException()
{
List<String> list = new ArrayList<String>();
list.add("CMP R1 R2");
Machine machine = new Machine();
machine.execute(list);
}
//Read in a file containing a program and convert into a list of
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment