1 package jester.tests; 2 3 import java.io.*; 4 import java.io.BufferedReader ; 5 import java.io.StringReader ; 6 7 import jester.MutationsList; 8 import jester.RealMutationsList; 9 import junit.framework.*; 10 11 public class MutationsListTest extends TestCase { 12 private static PrintStream NullErrorStream = new PrintStream(new ByteArrayOutputStream()); 13 14 public MutationsListTest(String name) { 15 super(name); 16 } 17 public static void main(String args[]) { 18 junit.awtui.TestRunner.main(new String [] { "jester.tests.MutationsListTest" }); 19 } 20 public static Test suite() { 21 TestSuite suite = new TestSuite(MutationsListTest.class); 22 return suite; 23 } 24 25 public void testDefaults() throws Exception { 26 MockMutationMaker aMockMutationMaker = new MockMutationMaker(); 27 28 aMockMutationMaker.addExpectedMutateValues("true", "false"); 29 aMockMutationMaker.addExpectedMutateValues("false", "true"); 30 aMockMutationMaker.addExpectedMutateValues("if(", "if(true ||"); 31 aMockMutationMaker.addExpectedMutateValues("if (", "if (true ||"); 32 aMockMutationMaker.addExpectedMutateValues("if(", "if(false &&"); 33 aMockMutationMaker.addExpectedMutateValues("if (", "if (false &&"); 34 aMockMutationMaker.addExpectedMutateValues("==", "!="); 35 aMockMutationMaker.addExpectedMutateValues("!=", "=="); 36 37 MutationsList aMutationsList = new RealMutationsList("there must be no file called this", NullErrorStream); aMutationsList.visit(aMockMutationMaker); 39 40 aMockMutationMaker.verify(); 41 } 42 43 public void testReadMutations() throws Exception { 44 char delimiter1 = '@'; 45 char delimiter2 = 'X'; 46 String readString = delimiter1 + "xyz" + delimiter1 + "a b c" + "\n" + 47 delimiter2 + "1" + delimiter2 + "2"; 48 StringReader aStringReader = new StringReader (readString); 49 50 MockMutationMaker aMockMutationMaker = new MockMutationMaker(); 51 52 aMockMutationMaker.addExpectedMutateValues("xyz", "a b c"); 53 aMockMutationMaker.addExpectedMutateValues("1", "2"); 54 55 RealMutationsList aMutationsList = new RealMutationsList("", NullErrorStream); 56 aMutationsList.visit(new BufferedReader (aStringReader), aMockMutationMaker); 57 58 aMockMutationMaker.verify(); 59 } 60 61 public void testReadMutationsIgnoreBogusLinesIncludingBlankOnes() throws Exception { 62 char delimiter1 = '@'; 63 char delimiter2 = 'X'; 64 String readString = delimiter1 + "xyz" + delimiter1 + "\n" + delimiter2 + "1" + delimiter2 + "2" + delimiter2 + "3" + "\n" + "\n" + delimiter2 + "a" + delimiter2 + "b" + delimiter2; StringReader aStringReader = new StringReader (readString); 69 70 MockMutationMaker aMockMutationMaker = new MockMutationMaker(); 71 72 aMockMutationMaker.addExpectedMutateValues("1", "2"); 73 aMockMutationMaker.addExpectedMutateValues("a", "b"); 74 75 RealMutationsList aMutationsList = new RealMutationsList("", NullErrorStream); 76 aMutationsList.visit(new BufferedReader (aStringReader), aMockMutationMaker); 77 78 aMockMutationMaker.verify(); 79 } 80 } | Popular Tags |