From b42c2bdcfb47fc4beafeb89fdc562a39606d4550 Mon Sep 17 00:00:00 2001 From: XUJIAZHU <43055837+XUJIAZHU@users.noreply.github.com> Date: Sun, 16 Sep 2018 15:18:35 +1000 Subject: [PATCH] Test cases --- examples/EC18.s | 2 +- test/swen90006/machine/BoundaryTests.java | 30 +++ test/swen90006/machine/PartitioningTests.java | 188 ++++++++++++++++++ 3 files changed, 219 insertions(+), 1 deletion(-) diff --git a/examples/EC18.s b/examples/EC18.s index 7c5ea9b..36c2bf3 100644 --- a/examples/EC18.s +++ b/examples/EC18.s @@ -1,7 +1,7 @@ MOV R1 0 MOV R2 2 MOV R3 1 - JZ R1 3 + JZ R1 4 SUB R0 R2 R3 ADD R4 R2 R3 RET R4 diff --git a/test/swen90006/machine/BoundaryTests.java b/test/swen90006/machine/BoundaryTests.java index 77ad3e3..8d55d19 100644 --- a/test/swen90006/machine/BoundaryTests.java +++ b/test/swen90006/machine/BoundaryTests.java @@ -209,7 +209,37 @@ public class BoundaryTests assertEquals(m.execute(lines), 5); } + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void EC18() + { + final List<String> lines = readInstructions("examples/EC18.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC19() + { + final List<String> lines = readInstructions("examples/EC19.s"); + Machine m = new Machine(); + m.execute(lines); + } + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC20() + { + final List<String> lines = readInstructions("examples/EC20.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void EC21() + { + final List<String> lines = readInstructions("examples/EC21.s"); + Machine m = new Machine(); + m.execute(lines); + } //To test an exception, specify the expected exception after the @Test /* @Test(expected = java.io.IOException.class) public void anExceptionTest() diff --git a/test/swen90006/machine/PartitioningTests.java b/test/swen90006/machine/PartitioningTests.java index aad359d..676b17f 100644 --- a/test/swen90006/machine/PartitioningTests.java +++ b/test/swen90006/machine/PartitioningTests.java @@ -52,6 +52,194 @@ public class PartitioningTests assertEquals(m.execute(lines), 45); } + @Test public void EC1() + { + final List<String> lines = readInstructions("examples/EC1.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 1); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC2() + { + final List<String> lines = readInstructions("examples/EC2.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test public void EC31() + { + final List<String> lines = readInstructions("examples/EC3-1.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 3); + } + + @Test public void EC32() + { + final List<String> lines = readInstructions("examples/EC3-2.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 3); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC4() + { + final List<String> lines = readInstructions("examples/EC4.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC5() + { + final List<String> lines = readInstructions("examples/EC5.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC6() + { + final List<String> lines = readInstructions("examples/EC6.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test public void EC71() + { + final List<String> lines = readInstructions("examples/EC7-1.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), -65533); + } + + @Test public void EC72() + { + final List<String> lines = readInstructions("examples/EC7-2.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 65537); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC8() + { + final List<String> lines = readInstructions("examples/EC8.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC9() + { + final List<String> lines = readInstructions("examples/EC9.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC10() + { + final List<String> lines = readInstructions("examples/EC10.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test public void EC11() + { + final List<String> lines = readInstructions("examples/EC11.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 0); + } + + @Test public void EC121() + { + final List<String> lines = readInstructions("examples/EC12-1.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 3); + } + + @Test public void EC122() + { + final List<String> lines = readInstructions("examples/EC12-2.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 3); + } + + @Test public void EC13() + { + final List<String> lines = readInstructions("examples/EC13.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 0); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC14() + { + final List<String> lines = readInstructions("examples/EC14.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC15() + { + final List<String> lines = readInstructions("examples/EC15.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void EC16() + { + final List<String> lines = readInstructions("examples/EC16.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test public void EC171() + { + final List<String> lines = readInstructions("examples/EC17-1.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 3); + } + + @Test public void EC172() + { + final List<String> lines = readInstructions("examples/EC17-2.s"); + Machine m = new Machine(); + assertEquals(m.execute(lines), 5); + } + + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void EC18() + { + final List<String> lines = readInstructions("examples/EC18.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC19() + { + final List<String> lines = readInstructions("examples/EC19.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void EC20() + { + final List<String> lines = readInstructions("examples/EC20.s"); + Machine m = new Machine(); + m.execute(lines); + } + + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void EC21() + { + final List<String> lines = readInstructions("examples/EC21.s"); + Machine m = new Machine(); + m.execute(lines); + } //To test an exception, specify the expected exception after the @Test /*@Test(expected = java.io.IOException.class) public void anExceptionTest() -- GitLab