@Test public void testInput4() { String test = "ABCDE-+$*EF*-"; // ((A (B (C (DE-) +) $) *) (EF*) -) addLine("LD", "D"); addLine("SB", "E"); addLine("ST", "TEMP1"); addLine("LD", "C"); addLine("AD", "TEMP1"); addLine("ST", "TEMP2"); addLine("LD", "B"); addLine("XP", "TEMP2"); addLine("ST", "TEMP3"); addLine("LD", "A"); addLine("ML", "TEMP3"); addLine("ST", "TEMP4"); addLine("LD", "E"); addLine("ML", "F"); addLine("ST", "TEMP5"); addLine("LD", "TEMP4"); addLine("SB", "TEMP5"); addLine("ST", "TEMP6"); PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); assertEquals("Input4: ", ans.toString(), pf.convert()); }
@Test public void testInput10() { String test2 = "AB0+/CBA+-/"; PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test2); // expected IllegalArgumentException: 0 is not a valid character" exception.expect(IllegalArgumentException.class); pf.convert(); }
@Test public void testInput8() { // ((A (BC-) /) (BA-) +) / String test = "ABC-/BA-+/"; // Expected unmatched operator PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); exception.expect(IllegalArgumentException.class); pf.convert(); }
@Test public void testInput7() { // (AB-) *CBA+-* String test = "AB-*CBA+-*"; // Expected unmatched operator PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); exception.expect(IllegalArgumentException.class); pf.convert(); }
@Test public void testInput6() { // (A (BC+) /) (C (BA*) +) String test = "ABC+/CBA*+"; // Expected invalid expression PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); exception.expect(IllegalArgumentException.class); pf.convert(); }
@Test public void testInput2() { String test = "ABC+-"; addLine("LD", "B"); addLine("AD", "C"); addLine("ST", "TEMP1"); addLine("LD", "A"); addLine("SB", "TEMP1"); addLine("ST", "TEMP2"); PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); assertEquals("Input2: ", ans.toString(), pf.convert()); }
@Test public void testInput9() { String test = "ABC+$CBA-+*"; // ((A (BC+) $) (C (BA-) +) *) addLine("LD", "B"); addLine("AD", "C"); addLine("ST", "TEMP1"); addLine("LD", "A"); addLine("XP", "TEMP1"); addLine("ST", "TEMP2"); addLine("LD", "B"); addLine("SB", "A"); addLine("ST", "TEMP3"); addLine("LD", "C"); addLine("AD", "TEMP3"); addLine("ST", "TEMP4"); addLine("LD", "TEMP2"); addLine("ML", "TEMP4"); addLine("ST", "TEMP5"); PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); assertEquals("Input9: ", ans.toString(), pf.convert()); }
@Test public void testInput3() { String test = "AB-C+DEF-+$"; // (((AB-) C+) (D (EF-)+) $) addLine("LD", "A"); addLine("SB", "B"); addLine("ST", "TEMP1"); addLine("LD", "TEMP1"); addLine("AD", "C"); addLine("ST", "TEMP2"); addLine("LD", "E"); addLine("SB", "F"); addLine("ST", "TEMP3"); addLine("LD", "D"); addLine("AD", "TEMP3"); addLine("ST", "TEMP4"); addLine("LD", "TEMP2"); addLine("XP", "TEMP4"); addLine("ST", "TEMP5"); PostFixToMachineInstructions pf = new PostFixToMachineInstructions(test); assertEquals("Input3: ", ans.toString(), pf.convert()); }