/*
* Copyright (C) 2009-2011 University of Dundee & Open Microscopy Environment.
* All rights reserved.
*
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.formats.utests;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import ome.util.LSID;
import ome.formats.OMEROMetadataStore;
import ome.model.acquisition.Detector;
import ome.model.acquisition.DetectorSettings;
import ome.model.acquisition.Instrument;
import ome.model.acquisition.Objective;
import ome.model.acquisition.ObjectiveSettings;
import ome.model.core.Channel;
import ome.model.core.Image;
import ome.model.core.LogicalChannel;
import ome.model.core.Pixels;
@Test
public class DetectorSettingsDetectorTest
{
private OMEROMetadataStore store;
private static final int INSTRUMENT_INDEX = 0;
private static final int DETECTOR_INDEX = 0;
private static final int OBJECTIVE_INDEX = 0;
private static final int CHANNEL_INDEX = 0;
private static final int IMAGE_INDEX = 0;
@BeforeMethod
protected void setUp() throws Exception
{
store = new OMEROMetadataStore();
String imageLSID = "Image:0";
Image image = new Image();
Map<String, Integer> imageIndexes =
new LinkedHashMap<String, Integer>();
imageIndexes.put("imageIndex", IMAGE_INDEX);
String pixelsLSID = "Pixels:0";
Pixels pixels = new Pixels();
Map<String, Integer> pixelsIndexes =
new LinkedHashMap<String, Integer>();
pixelsIndexes.put("imageIndex", IMAGE_INDEX);
String channelLSID = "Channel:0";
Channel channel = new Channel();
Map<String, Integer> channelIndexes =
new LinkedHashMap<String, Integer>();
channelIndexes.put("imageIndex", IMAGE_INDEX);
channelIndexes.put("channelIndex", CHANNEL_INDEX);
String logicalChannelLSID = "LogicalChannel:0";
LogicalChannel logicalChannel = new LogicalChannel();
Map<String, Integer> logicalChannelIndexes =
new LinkedHashMap<String, Integer>();
logicalChannelIndexes.put("imageIndex", IMAGE_INDEX);
logicalChannelIndexes.put("channelIndex", CHANNEL_INDEX);
String instrumentLSID = "Instrument:0";
Instrument instrument = new Instrument();
Map<String, Integer> instrumentIndexes =
new LinkedHashMap<String, Integer>();
instrumentIndexes.put("instrumentIndex", INSTRUMENT_INDEX);
String detectorLSID = "Detector:0";
Detector detector = new Detector();
Map<String, Integer> detectorIndexes =
new LinkedHashMap<String, Integer>();
detectorIndexes.put("instrumentIndex", INSTRUMENT_INDEX);
detectorIndexes.put("detectorIndex", DETECTOR_INDEX);
String objectiveLSID = "Objective:0";
Objective objective = new Objective();
Map<String, Integer> objectiveIndexes =
new LinkedHashMap<String, Integer>();
objectiveIndexes.put("instrumentIndex", INSTRUMENT_INDEX);
objectiveIndexes.put("objectiveIndex", OBJECTIVE_INDEX);
String detectorSettingsLSID = "DetectorSettings:0";
DetectorSettings detectorSettings = new DetectorSettings();
Map<String, Integer> detectorSettingsIndexes =
new LinkedHashMap<String, Integer>();
detectorSettingsIndexes.put("imageIndex", IMAGE_INDEX);
detectorSettingsIndexes.put("channelIndex", CHANNEL_INDEX);
String objectiveSettingsLSID = "ObjectiveSettings:0";
ObjectiveSettings objectiveSettings = new ObjectiveSettings();
Map<String, Integer> objectiveSettingsIndexes =
new LinkedHashMap<String, Integer>();
objectiveSettingsIndexes.put("imageIndex", IMAGE_INDEX);
store.updateObject(imageLSID, image, imageIndexes);
store.updateObject(pixelsLSID, pixels, pixelsIndexes);
store.updateObject(instrumentLSID, instrument, instrumentIndexes);
store.updateObject(channelLSID, channel, channelIndexes);
store.updateObject(logicalChannelLSID, logicalChannel,
logicalChannelIndexes);
store.updateObject(detectorLSID, detector, detectorIndexes);
store.updateObject(objectiveLSID, objective, objectiveIndexes);
store.updateObject(detectorSettingsLSID, detectorSettings,
detectorSettingsIndexes);
store.updateObject(objectiveSettingsLSID, objectiveSettings,
objectiveSettingsIndexes);
}
public void testAddDetectorSettingsDetectorReference()
{
Map<String, String[]> referenceCache = new HashMap<String, String[]>();
referenceCache.put("DetectorSettings:0", new String[] { "Detector:0" });
store.updateReferences(referenceCache);
DetectorSettings detectorSettings = (DetectorSettings)
store.getObjectByLSID(new LSID("DetectorSettings:0"));
Assert.assertNotNull(detectorSettings.getDetector());
}
public void testAddObjectiveSettingsObjectiveReference()
{
Map<String, String[]> referenceCache = new HashMap<String, String[]>();
referenceCache.put("ObjectiveSettings:0",
new String[] { "Objective:0" });
store.updateReferences(referenceCache);
ObjectiveSettings objectiveSettings = (ObjectiveSettings)
store.getObjectByLSID(new LSID("ObjectiveSettings:0"));
Assert.assertNotNull(objectiveSettings.getObjective());
}
public void testAddDetectorAndObjectiveSettingsReferences()
{
Map<String, String[]> referenceCache = new HashMap<String, String[]>();
referenceCache.put("DetectorSettings:0", new String[] { "Detector:0"});
store.updateReferences(referenceCache);
DetectorSettings detectorSettings = (DetectorSettings)
store.getObjectByLSID(new LSID("DetectorSettings:0"));
referenceCache.put("ObjectiveSettings:0",
new String[] { "Objective:0"});
store.updateReferences(referenceCache);
ObjectiveSettings objectiveSettings = (ObjectiveSettings)
store.getObjectByLSID(new LSID("ObjectiveSettings:0"));
Assert.assertNotNull(objectiveSettings.getObjective());
Assert.assertNotNull(detectorSettings.getDetector());
}
}