2012-03-20 - Unit tests for ImageJ 1.46

Last October we ran the unit tests for ImageJ1 against various versions of ImageJ 1.45. It has been awhile since then, so here are the results with various versions of ImageJ 1.46.

Once again, an increasing number of tests are failing with each release, which indicates changing behavior creeping into the code.

Jenkins now runs these tests automatically whenever a new version of ImageJ 1.x is released, and reports failures to the imagej-devel mailing list, so that we become aware as early as possible when regression bugs have been introduced.

Version(s) Results
1.45q ALL PASS
1.45r 1 FAILURE:
  1. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0
1.45s 3 FAILURES:
  1. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  2. testGetFloatPolygon(ij.gui.RoiTest)
  3. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0
1.46a 7 FAILURES:
  1. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  2. testDrawPixelsImageProcessor(ij.gui.PolygonRoiTest): expected:<0> but was:<33>
  3. testGetPolygon(ij.gui.PolygonRoiTest): expected:<2> but was:<1>
  4. testFitSplineInt(ij.gui.PolygonRoiTest): arrays first differed at element [3]; expected:<1> but was:<0>
  5. testGetXandYCoordinates(ij.gui.PolygonRoiTest): arrays first differed at element [1]; expected:<1> but was:<0>
  6. testGetFloatPolygon(ij.gui.RoiTest)
  7. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0

3 ERRORS:

  1. testPointRoiIntArrayIntArrayInt(ij.gui.PointRoiTest)
  2. testAddPointIntInt(ij.gui.PointRoiTest): 0
  3. testSubtractPointsRoi(ij.gui.PointRoiTest)
1.46b 9 FAILURES:
  1. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  2. testDrawPixelsImageProcessor(ij.gui.PolygonRoiTest): expected:<0> but was:<33>
  3. testGetPolygon(ij.gui.PolygonRoiTest): expected:<2> but was:<1>
  4. testFitSplineInt(ij.gui.PolygonRoiTest): arrays first differed at element [3]; expected:<1> but was:<0>
  5. testGetXandYCoordinates(ij.gui.PolygonRoiTest): arrays first differed at element [1]; expected:<1> but was:<0>
  6. testIsDrawingTool(ij.gui.RoiTest)
  7. testGetFloatPolygon(ij.gui.RoiTest)
  8. testSetRoundRectArcSize(ij.gui.RoiTest)
  9. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0

3 ERRORS:

  1. testPointRoiIntArrayIntArrayInt(ij.gui.PointRoiTest)
  2. testAddPointIntInt(ij.gui.PointRoiTest): 0
  3. testSubtractPointsRoi(ij.gui.PointRoiTest)
1.46c DOES NOT COMPILE
1.46d 8 FAILURES:
  1. testSetChannelLutLUT(ij.CompositeImageTest)
  2. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  3. testDrawPixelsImageProcessor(ij.gui.PolygonRoiTest): expected:<0> but was:<33>
  4. testGetPolygon(ij.gui.PolygonRoiTest): expected:<2> but was:<1>
  5. testFitSplineInt(ij.gui.PolygonRoiTest): arrays first differed at element [3]; expected:<1> but was:<0>
  6. testGetXandYCoordinates(ij.gui.PolygonRoiTest): arrays first differed at element [1]; expected:<1> but was:<0>
  7. testIsDrawingTool(ij.gui.RoiTest)
  8. testGetFloatPolygon(ij.gui.RoiTest)
  9. testSetRoundRectArcSize(ij.gui.RoiTest)
  10. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0

3 ERRORS:

  1. testPointRoiIntArrayIntArrayInt(ij.gui.PointRoiTest)
  2. testAddPointIntInt(ij.gui.PointRoiTest): 0
  3. testSubtractPointsRoi(ij.gui.PointRoiTest)
1.46e 9 FAILURES:
  1. testSetChannelLutLUT(ij.CompositeImageTest)
  2. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  3. testDrawPixelsImageProcessor(ij.gui.PolygonRoiTest): expected:<0> but was:<33>
  4. testGetPolygon(ij.gui.PolygonRoiTest): expected:<2> but was:<1>
  5. testIsDrawingTool(ij.gui.RoiTest)
  6. testGetFloatPolygon(ij.gui.RoiTest)
  7. testSetRoundRectArcSize(ij.gui.RoiTest)
  8. testToString(ij.ImagePlusTest): expected:<imp[Arckle [2x1x1]]> but was:<imp[Arckle [(2x1x1x1x1)]]>
  9. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0

3 ERRORS:

  1. testPointRoiIntArrayIntArrayInt(ij.gui.PointRoiTest)
  2. testAddPointIntInt(ij.gui.PointRoiTest): 0
  3. testSubtractPointsRoi(ij.gui.PointRoiTest)
1.46f DOES NOT COMPILE
1.46g - 1.46h 21 FAILURES:
  1. testSetChannelLutLUT(ij.CompositeImageTest)
  2. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  3. testDrawPixelsImageProcessor(ij.gui.PolygonRoiTest): expected:<33> but was:<0>
  4. testGetPolygon(ij.gui.PolygonRoiTest): expected:<2> but was:<1>
  5. testIsDrawingTool(ij.gui.RoiTest)
  6. testGetFloatPolygon(ij.gui.RoiTest)
  7. testSetRoundRectArcSize(ij.gui.RoiTest)
  8. testToString(ij.ImagePlusTest): expected:<imp[Arckle [2x1x1]]> but was:<imp[Arckle [(2x1x1x1x1)]]>
  9. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0
  10. testGetCValueInt(ij.measure.CalibrationTest): expected:<-12.815510557964274> but was:<NaN>
  11. testGetCValueDouble(ij.measure.CalibrationTest): expected:<-12.815510557964274> but was:<NaN>
  12. testConstants(ij.measure.CurveFitterTest): expected:<y = a[*]x^b> but was:<y = a[]x^b>
  13. testDoFitIntBoolean(ij.measure.CurveFitterTest): Assert.assertDoubleArraysEqual(double[],double[]) items differ at index 0: expected 2.0 and got 2.0011829468898386
  14. testFIntDoubleArrayDouble(ij.measure.CurveFitterTest)
  15. testGetResiduals(ij.measure.CurveFitterTest): expected:<0.0> but was:<1.4006385803222656>
  16. testGetSumResidualsSqr(ij.measure.CurveFitterTest): expected:<1890.14122> but was:<26.43688259804273>
  17. testGetSD(ij.measure.CurveFitterTest): expected:<10.45104> but was:<10.444040599931316>
  18. testGetRSquared(ij.measure.CurveFitterTest): expected:<0.84155> but was:<0.9994373712474635>
  19. testGetFitGoodness(ij.measure.CurveFitterTest): expected:<-0.59996> but was:<0.9981068051417952>
  20. testGetResultString(ij.measure.CurveFitterTest): expected:<...d+(a-d)/(1+(x/c)^b)
  21. testGetFit(ij.measure.CurveFitterTest): expected:<20> but was:<100>

8 ERRORS:

  1. testPointRoiIntArrayIntArrayInt(ij.gui.PointRoiTest)
  2. testAddPointIntInt(ij.gui.PointRoiTest): 0
  3. testSubtractPointsRoi(ij.gui.PointRoiTest)
  4. testDoCustomFit(ij.measure.CurveFitterTest): 2
  5. testGetNumParams(ij.measure.CurveFitterTest): 3
  6. testFDoubleArrayDouble(ij.measure.CurveFitterTest): 2
  7. testGetName(ij.measure.CurveFitterTest): 2
  8. testGetFormula(ij.measure.CurveFitterTest): 2
1.46i 26 FAILURES:
  1. testSetChannelLutLUT(ij.CompositeImageTest)
  2. testGetPolygon(ij.gui.LineTest): expected:<1> but was:<2>
  3. testDrawPixelsImageProcessor(ij.gui.PolygonRoiTest): expected:<33> but was:<0>
  4. testGetPolygon(ij.gui.PolygonRoiTest): expected:<2> but was:<1>
  5. testIsDrawingTool(ij.gui.RoiTest)
  6. testGetFloatPolygon(ij.gui.RoiTest)
  7. testSetRoundRectArcSize(ij.gui.RoiTest)
  8. testIsLine(ij.gui.RoiTest)
  9. testToString(ij.ImagePlusTest): expected:<imp[Arckle [2x1x1]]> but was:<imp[Arckle [(2x1x1x1x1)]]>
  10. testLzwUncompress(ij.io.ImageReaderTest): array lengths differed, expected.length=13 actual.length=0
  11. testGetCValueInt(ij.measure.CalibrationTest): expected:<-12.815510557964274> but was:<NaN>
  12. testGetCValueDouble(ij.measure.CalibrationTest): expected:<-12.815510557964274> but was:<NaN>
  13. testConstants(ij.measure.CurveFitterTest): expected:<y = a[*]x^b> but was:<y = a[]x^b>
  14. testDoFitIntBoolean(ij.measure.CurveFitterTest): Assert.assertDoubleArraysEqual(double[],double[]) items differ at index 0: expected 2.0 and got 2.0011829468898386
  15. testFIntDoubleArrayDouble(ij.measure.CurveFitterTest)
  16. testGetResiduals(ij.measure.CurveFitterTest): expected:<0.0> but was:<1.4006385803222656>
  17. testGetSumResidualsSqr(ij.measure.CurveFitterTest): expected:<1890.14122> but was:<26.43688259804273>
  18. testGetSD(ij.measure.CurveFitterTest): expected:<10.45104> but was:<10.444040599931316>
  19. testGetRSquared(ij.measure.CurveFitterTest): expected:<0.84155> but was:<0.9994373712474635>
  20. testGetFitGoodness(ij.measure.CurveFitterTest): expected:<-0.59996> but was:<0.9981068051417952>
  21. testGetResultString(ij.measure.CurveFitterTest): expected:<...d+(a-d)/(1+(x/c)^b)
  22. testGetFit(ij.measure.CurveFitterTest): expected:<20> but was:<100>
  23. testGetfIntInt(ij.process.ColorProcessorTest): expected:<33.0> but was:<99.0>
  24. testGetfInt(ij.process.ColorProcessorTest): expected:<33.0> but was:<99.0>
  25. testSetfIntIntFloat(ij.process.ColorProcessorTest): expected:<33.0> but was:<99.0>
  26. testSetfIntFloat(ij.process.ColorProcessorTest): expected:<33.0> but was:<99.0>

8 ERRORS:

  1. testPointRoiIntArrayIntArrayInt(ij.gui.PointRoiTest)
  2. testAddPointIntInt(ij.gui.PointRoiTest): 0
  3. testSubtractPointsRoi(ij.gui.PointRoiTest)
  4. testDoCustomFit(ij.measure.CurveFitterTest): 2
  5. testGetNumParams(ij.measure.CurveFitterTest): 3
  6. testFDoubleArrayDouble(ij.measure.CurveFitterTest): 2
  7. testGetName(ij.measure.CurveFitterTest): 2
  8. testGetFormula(ij.measure.CurveFitterTest): 2