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

Replace PartitioningTests.java

parent 564dfcde
No related branches found
No related tags found
No related merge requests found
...@@ -71,6 +71,147 @@ public class PartitioningTests ...@@ -71,6 +71,147 @@ public class PartitioningTests
assertEquals("Some failure message", expected, actual); assertEquals("Some failure message", expected, actual);
} }
@Test public void EC1TestCase()
{
List<String> list = new ArrayList<String>();
list.add("RET R1");
Machine machine = new Machine();
int actual = 0;
assertEquals(machine.execute(list), actual);
}
@Test(expected = NoReturnValueException.class)
public void EC2ExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("ADD R1 R2 R3");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC3ExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("CMP R1 R2");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC4ExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("ADD R1 R2 R-1");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC5ExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("CMP R32 R2 R3");
Machine machine = new Machine();
machine.execute(list);
}
@Test public void EC6TestCase()
{
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");
Machine machine = new Machine();
int actual = 5;
assertEquals(machine.execute(list), actual);
}
@Test public void EC7TestCase()
{
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");
Machine machine = new Machine();
int actual = 3;
assertEquals(machine.execute(list), actual);
}
@Test(expected = NoReturnValueException.class)
public void EC8ExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 2");
list.add("MOV R2 3");
list.add("ADD R3 R1 R2");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC9ExceptionTest()
{
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()
{
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");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC11ExceptionTest()
{
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");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC12ExceptionTest()
{
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");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void EC13ExceptionTest()
{
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");
Machine machine = new Machine();
machine.execute(list);
}
//Read in a file containing a program and convert into a list of //Read in a file containing a program and convert into a list of
//string instructions //string instructions
private List<String> readInstructions(String file) 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