[ImageJ-devel] IJ1 unit tests
Curtis Rueden
ctrueden at wisc.edu
Sat Oct 8 16:24:41 CDT 2011
Hi Wayne,
I am willing to try to figure out why the tests are failing. I thought I
> would start with the virtual stack tests so I converted
> VirtualStackTest.java to an ImageJ plugin (attached), but I can't get it to
> run because I can't find the files "gray8-2x3-sub1.tif" and
> "gray8-2x3-sub2.tif" on the imagejdev website and I don't know how to
> generate them.
>
The data files are included in the ImageJ2 SVN checkout, in the folder:
ij1-tests/src/test/resources/data
You can also download them from this URL:
http://dev.imagejdev.org/svn/imagej/trunk/ij1-tests/src/test/resources/data/
Regards,
Curtis
On Sat, Oct 8, 2011 at 2:28 PM, Rasband, Wayne (NIH/NIMH) [E] <
rasbandw at mail.nih.gov> wrote:
> Hi Curtis,
>
> I am willing to try to figure out why the tests are failing. I thought I
> would start with the virtual stack tests so I converted
> VirtualStackTest.java to an ImageJ plugin (attached), but I can't get it to
> run because I can't find the files "gray8-2x3-sub1.tif" and
> "gray8-2x3-sub2.tif" on the imagejdev website and I don't know how to
> generate them.
>
> -wayne
>
>
>
> import ij.*;
> import ij.process.*;
> import ij.plugin.*;
> import static org.junit.Assert.assertArrayEquals;
> import static org.junit.Assert.assertEquals;
> import static org.junit.Assert.assertNotNull;
> import static org.junit.Assert.assertNull;
> import static org.junit.Assert.assertTrue;
> import static org.junit.Assert.fail;
>
> public class Unit_Tests implements PlugIn {
>
> public void run(String arg) {
> testGetProcessor();
> }
>
> public void testGetProcessor() {
> String DATA_DIR = "src/test/resources/data/";
> // setup vstack
> VirtualStack vs =new VirtualStack(2,3,null,DATA_DIR);
> vs.addSlice("gray8-2x3-sub1.tif");
> vs.addSlice("gray8-2x3-sub2.tif");
> // test that it works
> ImageProcessor proc;
> // try valid entries and test returned data
> proc =vs.getProcessor(1);
> assertEquals(2,proc.getWidth());
> assertEquals(3,proc.getHeight());
> assertArrayEquals(new
> byte[]{0,40,0,40,120,-96},(byte[])proc.getPixels());
> proc =vs.getProcessor(2);
> assertEquals(2,proc.getWidth());
> assertEquals(3,proc.getHeight());
> assertArrayEquals(new
> byte[]{0,40,0,40,120,-96},(byte[])proc.getPixels());
> }
>
> }
>
>
>
>
>
>
> On Oct 7, 2011, at 3:05 PM, Curtis Rueden wrote:
>
> > Hi Wayne et. al,
> >
> > For quite some time now, we have had unit tests (written by Barry) for
> testing the behavior of IJ1. Unfortunately, they were originally written to
> compile against a patched version of IJ1 and we neglected to update them to
> work with IJ1 "out of the box."
> >
> > I have had a ticket about this situation (
> http://dev.imagejdev.org/trac/imagej/ticket/598) for the past few months,
> but have only just now finally fixed the tests to work against various
> versions of IJ1 from 1.44 onwards.
> >
> > I ran them against all development versions of 1.45 (a through q) and
> saved the result as a blog post:
> > http://imagejdev.org/2011/10/07/unit-tests-imagej-1x
> >
> > It looks like from 1.45a through 1.45q, a total of 7 code changes were
> introduced that result in test failures. These could be the result of
> bugfixes, or they could be new regressions. I wanted to let you know in case
> you were interested in pursuing these bugs, since I know how much you value
> backwards compatibility.
> >
> > Instructions on running the tests yourself can be found here:
> > http://imagejdev.org/source-code#Running_ImageJ_1.x_unit_tests
> >
> > My plan is to hook up the tests to Hudson (
> http://dev.imagejdev.org:8080/) and have it send an email whenever a new
> version of IJ1 is released with failing tests.
> >
> > What do you think?
> >
> > Regards,
> > Curtis
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20111008/793840d1/attachment.html>
More information about the ImageJ-devel
mailing list