From de5d49fa3fed710c4c944e3ca031ad183b4c03f6 Mon Sep 17 00:00:00 2001 From: Zhaolin Deng <zhaolin.deng@student.unimelb.edu.au> Date: Mon, 17 Sep 2018 01:46:14 +1000 Subject: [PATCH] Replace BoundaryTests.java --- test/swen90006/machine/BoundaryTests.java | 235 ++++++++++++++++++++-- 1 file changed, 223 insertions(+), 12 deletions(-) diff --git a/test/swen90006/machine/BoundaryTests.java b/test/swen90006/machine/BoundaryTests.java index 61ce1ca..5f156a7 100644 --- a/test/swen90006/machine/BoundaryTests.java +++ b/test/swen90006/machine/BoundaryTests.java @@ -25,25 +25,236 @@ public class BoundaryTests } //Any method annotation with "@Test" is executed as a test. - @Test public void aTest() + + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void ec3Test() { //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 -1"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); } - @Test public void anotherTest() + @Test public void ec4Test() { - List<String> list = new ArrayList<String>(); - list.add("a"); - list.add("b"); - - //the assertTrue method is used to check whether something holds. - assertTrue(list.contains("a")); + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("jmp 1"); + list.add("ret R0"); + Machine m = new Machine(); + assertEquals(m.execute(list), 0); } - + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec5Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("jmp 65536"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec6Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("ret R32"); + Machine m = new Machine(); + m.execute(list); + } + + @Test public void ec7Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("ret R0"); + Machine m = new Machine(); + assertEquals(m.execute(list), 0); + } + + @Test public void ec8Test() + { + //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 m = new Machine(); + assertEquals(m.execute(list), 65535); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec9Test() + { + //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 65536"); + list.add("ret R1"); + Machine m = new Machine(); + m.execute(list); + } + + + @Test(expected = swen90006.machine.NoReturnValueException.class) + public void ec11Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("jz R1 3"); + list.add("ret R1"); + Machine m = new Machine(); + m.execute(list); + } + + @Test public void ec12Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("jz R1 0"); + list.add("ret R1"); + Machine m = new Machine(); + assertEquals(m.execute(list), 0); + } + + @Test public void ec13Test() + { + //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 1"); + list.add("ldr R0 R1 0"); + list.add("ret R0"); + Machine m = new Machine(); + assertEquals(m.execute(list), 0); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec14Test() + { + //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 1"); + list.add("ldr R0 R1 65536"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec15Test() + { + //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 65536"); + list.add("ldr R0 R1 0"); + list.add("ret R0"); + Machine m = new Machine(); + (m.execute(list); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec16Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("ldr R0 R32 0"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec17Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("str R0 0 R32"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec18Test() + { + //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 65536"); + list.add("str R1 0 R0"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); + } + + @Test public void ec20Test() + { + //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 0"); + list.add("mov R2 65535"); + list.add("add R0 R1 R2"); + list.add("ret R0"); + Machine m = new Machine(); + assertEquals(m.execute(list), 65535); + } + + @Test(expected = swen90006.machine.InvalidInstructionException.class) + public void ec21Test() + { + //the assertEquals method used to check whether two values are + //equal, using the equals method + List<String> list = new ArrayList<String>(); + list.add("add R0 R1 R32"); + list.add("ret R0"); + Machine m = new Machine(); + m.execute(list); + } + + @Test public void ec22Test() + { + //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("mov R2 1"); + list.add("div R0 R1 R2"); + list.add("ret R0"); + Machine m = new Machine(); + assertEquals(m.execute(list), 65535); + } + + @Test public void ec23Test() + { + //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 1"); + list.add("mov R2 0"); + list.add("div R0 R1 R2"); + list.add("ret R0"); + Machine m = new Machine(); + assertEquals(m.execute(list), 0); + } + //Test test opens a file and executes the machine @Test public void aFileOpenTest() { -- GitLab