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

Replace PartitioningTests.java

parent 07d09e6a
Branches
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment