package ome.formats.utests;
import ome.formats.OMEROMetadataStoreClient;
import ome.formats.model.BlitzInstanceProvider;
import ome.util.LSID;
import omero.api.ServiceFactoryPrx;
import omero.model.Rectangle;
import omero.model.Roi;
import junit.framework.TestCase;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class ShapeProcessorTest extends TestCase
{
private OMEROMetadataStoreClient store;
private static final int IMAGE_INDEX = 1;
private static final int ROI_INDEX = 1;
private static final int SHAPE_INDEX = 1;
@BeforeMethod
protected void setUp() throws Exception
{
ServiceFactoryPrx sf = new TestServiceFactory().proxy();
store = new OMEROMetadataStoreClient();
store.initialize(sf);
store.setEnumerationProvider(new TestEnumerationProvider());
store.setInstanceProvider(
new BlitzInstanceProvider(store.getEnumerationProvider()));
store.setROIDescription("Foobar", ROI_INDEX);
store.setRectangleX(25.0, ROI_INDEX + 1, SHAPE_INDEX);
}
@Test
public void testShapeExists()
{
assertEquals(1, store.countCachedContainers(Roi.class, null));
assertEquals(1, store.countCachedContainers(Rectangle.class, null));
LSID roiLSID1 = new LSID(Roi.class, ROI_INDEX);
LSID shapeLSID1 = new LSID(Rectangle.class, ROI_INDEX + 1, SHAPE_INDEX);
Roi roi = (Roi) store.getSourceObject(roiLSID1);
Rectangle shape = (Rectangle) store.getSourceObject(shapeLSID1);
assertNotNull(roi);
assertNotNull(shape);
assertEquals("Foobar", roi.getDescription().getValue());
assertEquals(25.0, shape.getX().getValue());
}
@Test
public void testShapePostProcess()
{
store.postProcess();
assertEquals(2, store.countCachedContainers(Roi.class, null));
assertEquals(1, store.countCachedContainers(Rectangle.class, null));
LSID roiLSID1 = new LSID(Roi.class, ROI_INDEX);
LSID roiLSID2 = new LSID(Roi.class, ROI_INDEX + 1);
Roi roi1 = (Roi) store.getSourceObject(roiLSID1);
Roi roi2 = (Roi) store.getSourceObject(roiLSID2);
assertNotNull(roi1);
assertNotNull(roi2);
assertEquals("Foobar", roi1.getDescription().getValue());
assertNull(roi2.getDescription());
}
}