Further unit tests: CFB and Delta
[cfb.git] / test / net / jaekl / cfb / analyze / DeltaTest.java
index 04f1dcd4338d9dab398f884e706460967a3555af..cb2222c77f35d31152852aaa0d3fb093b8cbdfd4 100644 (file)
@@ -44,7 +44,6 @@ public class DeltaTest {
                        + "<SourceLine classname=\"net.jaekl.cfb.CFB\" start=\"101\" end=\"101\" startBytecode=\"46\" endBytecode=\"46\" sourcefile=\"CFB.java\" sourcepath=\"net/jaekl/cfb/CFB.java\" role=\"SOURCE_REDUNDANT_NULL_CHECK\"/>\n"
                        + "</BugInstance>\n";
 
-       /*
        private static String VO_VOLATILE_INCREMENT = ""
                        + "<BugInstance type=\"VO_VOLATILE_INCREMENT\" priority=\"2\" abbrev=\"VO\" category=\"MT_CORRECTNESS\">"
                        + "<Class classname=\"junit.extensions.ActiveTestSuite\">"
@@ -58,7 +57,6 @@ public class DeltaTest {
                        + "</Field>"
                        + "<SourceLine classname=\"junit.extensions.ActiveTestSuite\" start=\"67\" end=\"67\" startBytecode=\"7\" endBytecode=\"7\" sourcefile=\"ActiveTestSuite.java\" sourcepath=\"junit/extensions/ActiveTestSuite.java\"/>"
                        + "</BugInstance>";
-       */
        
        private static final String DM_NUMBER_CTOR_156 = ""
                        + "<BugInstance type=\"DM_NUMBER_CTOR\" priority=\"2\" abbrev=\"Bx\" category=\"PERFORMANCE\">"
@@ -189,7 +187,8 @@ public class DeltaTest {
        }
 
        @Test
-       public void test_computeDeltas() throws FileNotFoundException, IOException, SAXException {
+       public void test_computeDeltas() throws FileNotFoundException, IOException, SAXException 
+       {
                String[][] bugSpecs = {
                                { DM_DEFAULT_ENCODING, "DM_DEFAULT_ENCODING" },
                                { RCN_REDUNDANT_NULL_CHECK, "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" },
@@ -208,4 +207,29 @@ public class DeltaTest {
                }
        }
 
+       @Test
+       public void test_deltaWithNoPrior() throws FileNotFoundException, IOException, SAXException 
+       {
+               String[][] bugSpecs = {
+                               { DM_DEFAULT_ENCODING, "DM_DEFAULT_ENCODING" },
+                               { RCN_REDUNDANT_NULL_CHECK, "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" },
+                               { VO_VOLATILE_INCREMENT, "VO_VOLATILE_INCREMENT" },
+                               { DM_NUMBER_CTOR_156, "DM_NUMBER_CTOR" },
+                               { DM_NUMBER_CTOR_169, "DM_NUMBER_CTOR" }
+               };
+               
+               final String PROJECT_NAME = "AlphaOne";
+               String secondXml = buildXml(bugSpecs, 0, bugSpecs.length - 1);
+               
+               Analysis second = analysisFromXml(secondXml, PROJECT_NAME, "1.0.1");
+               
+               Delta delta = new Delta(null, second);
+               
+               assertNotNull(delta);
+               for (int i = 0; i < bugSpecs.length; ++i) {
+                       assertFalse(contains(delta.getCommon(), bugSpecs[i][1]));
+                       assertFalse(contains(delta.getFixed(), bugSpecs[i][1]));
+                       assertTrue(contains(delta.getNew(), bugSpecs[i][1]));
+               }
+       }
 }