Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • tmiller/SWEN90006-A1-2018
  • cbalasuriya/SWEN90006-A1-2018
  • zhangyuny/SWEN90006-A1-2018
  • zhaor4/SWEN90006-A1-2018
  • nelsonc1/SWEN90006-A1-2018
  • jiamingz3/SWEN90006-A1-2018
  • cvidler/SWEN90006-A1-2018
  • 923841/SWEN90006-A1-2018
  • hzhu5/SWEN90006-A1-2018
  • zhuoyaof/SWEN90006-A1-2018
  • haoyangc/SWEN90006-A1-2018
  • austinl/SWEN90006-A1-2018
  • gxuan/SWEN90006-A1-2018
  • zlang/SWEN90006-A1-2018
  • junhany/SWEN90006-A1-2018
  • shibaoz/SWEN90006-A1-2018
  • arwinders/SWEN90006-A1-2018
  • jiankunc/SWEN90006-A1-2018
  • xujiaz/SWEN90006-A1-2018
  • xiaomingz/SWEN90006-A1-2018
  • xixiangw/SWEN90006-A1-2018
  • yunchengw/SWEN90006-A1-2018
  • abdulk/SWEN90006-A1-2018
  • yangz7/SWEN90006-A1-2018
  • linyuanz/SWEN90006-A1-2018
  • zhaolind/SWEN90006-A1-2018
  • jingjiahuil/SWEN90006-A1-2018
  • hongyic3/SWEN90006-A1-2018
  • zhouw4/SWEN90006-A1-2018
  • emilylm/SWEN90006-A1-2018
  • jingez1/SWEN90006-A1-2018
  • minzhex/SWEN90006-A1-2018
32 results
Select Git revision
  • master
1 result
Show changes

Commits on Source 2

......@@ -24,53 +24,212 @@ public class BoundaryTests
{
}
//Any method annotation with "@Test" is executed as a test.
@Test public void aTest()
@Test public void B1TestCase()
{
//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 0");
list.add("RET R0");
Machine machine = new Machine();
int actual = 0; // expected result
assertEquals(machine.execute(list), actual);
}
@Test public void B2TestCase()
{
//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("RET R31");
Machine machine = new Machine();
int actual = 31;
assertEquals(machine.execute(list), actual);
}
@Test public void B5TestCase()
{
//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 -65535");
list.add("RET R1");
Machine machine = new Machine();
int actual = -65535;
assertEquals(machine.execute(list), actual);
}
@Test public void B6TestCase()
{
//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 65535");
list.add("RET R1");
Machine machine = new Machine();
int actual = 65535;
assertEquals(machine.execute(list), actual);
}
@Test public void B9TestCase()
{
//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 0");
list.add("MOV R1 0");
list.add("RET R1");
Machine machine = new Machine();
int actual = 0; // It should be a infinite loop.
assertEquals(machine.execute(list), actual);
}
@Test public void B10TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 10");
list.add("MOV R2 12");
list.add("JMP 2");
list.add("RET R1");
list.add("RET R2");
Machine machine = new Machine();
int actual = 12;
assertEquals(machine.execute(list), actual);
}
@Test public void anotherTest()
@Test public void B13TestCase()
{
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("MOV R1 0");
list.add("MOV R2 100");
list.add("STR R1 0 R2");
list.add("LDR R3 R1 0");
list.add("RET R3");
Machine machine = new Machine();
int actual = 100;
assertEquals(machine.execute(list), actual);
}
//the assertTrue method is used to check whether something holds.
assertTrue(list.contains("a"));
@Test public void B14TestCase()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 60000");
list.add("MOV R2 100");
list.add("STR R1 5535 R2");
list.add("LDR R3 R1 5535");
list.add("RET R3");
Machine machine = new Machine();
int actual = 100;
assertEquals(machine.execute(list), actual);
}
//Test test opens a file and executes the machine
@Test public void aFileOpenTest()
@Test public void B15TestCase()
{
final List<String> lines = readInstructions("examples/array.s");
Machine m = new Machine();
assertEquals(m.execute(lines), 45);
List<String> list = new ArrayList<String>();
list.add("MOV R3 0");
list.add("MOV R1 0");
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("RET R3");
Machine machine = new Machine();
int actual = 0;
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 R2 100");
list.add("STR R1 5536 R2");// instruction does nothing
list.add("LDR R3 R1 5536");// instruction does nothing
list.add("RET R3");
Machine machine = new Machine();
int actual = 2;
assertEquals(machine.execute(list), actual);
}
//-------------------------------
//To test an exception, specify the expected exception after the @Test
@Test(expected = java.io.IOException.class)
public void anExceptionTest()
throws Throwable
@Test(expected = InvalidInstructionException.class)
public void B3anInvalidInstructionExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("MOV R-1 -1");
list.add("RET R-1");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void B4anInvalidInstructionExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("MOV R32 32");
list.add("RET R32");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void B7anInvalidInstructionExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("MOV R2 -65536");
list.add("RET R2");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = InvalidInstructionException.class)
public void B8anInvalidInstructionExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("MOV R3 65536");
list.add("RET R3");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = NoReturnValueException.class)
public void B11anNoReturnValueExceptionTest()
{
List<String> list = new ArrayList<String>();
list.add("MOV R1 10");
list.add("JMP -2");
list.add("RET R1");
Machine machine = new Machine();
machine.execute(list);
}
@Test(expected = NoReturnValueException.class)
public void B12anNoReturnValueExceptionTest()
{
throw new java.io.IOException();
List<String> list = new ArrayList<String>();
list.add("MOV R1 10");
list.add("JMP 2");
list.add("RET R1");
Machine machine = new Machine();
machine.execute(list);
}
//This test should fail.
//To provide additional feedback when a test fails, an error message
//can be included
@Test public void aFailedTest()
//To test an exception, specify the expected exception after the @Test
@Test(expected = InvalidInstructionException.class)
public void EC3anInvalidInstructionException()
{
//include a message for better feedback
final int expected = 2;
final int actual = 1 + 2;
assertEquals("Some failure message", expected, actual);
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
//string instructions
private List<String> readInstructions(String file)
......
......@@ -71,6 +71,147 @@ public class PartitioningTests
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
//string instructions
private List<String> readInstructions(String file)
......