package org.concord.otrunk.test2;
import java.net.URL;
import java.util.logging.Logger;
import org.concord.framework.otrunk.OTObject;
import org.concord.framework.otrunk.OTObjectMap;
import org.concord.framework.otrunk.wrapper.OTInt;
import org.concord.otrunk.OTrunkImpl;
import org.concord.otrunk.datamodel.OTDatabase;
import org.concord.otrunk.view.OTConfig;
import org.concord.otrunk.view.OTViewerHelper;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
public class AnnotationsTest
{
private static final Logger logger = Logger.getLogger(AnnotationsTest.class.getCanonicalName());
private static final boolean loadLearnerData = false;
private static URL authoredContent = OverlayObjectCopyTest.class.getResource("/reference-test-authored.otml");
private static URL learnerContent = OverlayObjectCopyTest.class.getResource("/reference-test-learner.otml");
private static OTViewerHelper viewerHelper;
private static OTDatabase mainDb;
private static OTDatabase learnerDb;
private static OTrunkImpl otrunk;
private static OTObject rootObject;
@Test
public void annotationsIsAnAttribute() throws Exception {
OTObjectMap annotations = rootObject.getAnnotations();
Assert.assertTrue("Annotations is an OTObjectMap", annotations instanceof OTObjectMap);
}
@Test
public void canSetAnAnnotation() throws Exception {
OTObjectMap annotations = rootObject.getAnnotations();
OTInt intObj = otrunk.createObject(OTInt.class);
int intVal = 5;
intObj.setValue(intVal);
annotations.putObject("test", intObj);
OTObject obj = annotations.getObject("test");
Assert.assertTrue("Retrieved object should be an OTInt", obj instanceof OTInt);
Assert.assertTrue("OTInt value should be " + intVal, ((OTInt)obj).getValue() == intVal);
}
@BeforeClass
public static void initOtrunk()
throws Exception
{
logger.finer("loading otrunk");
if (loadLearnerData) {
System.setProperty(OTConfig.SINGLE_USER_PROP, "true");
} else {
System.setProperty(OTConfig.NO_USER_PROP, "true");
}
viewerHelper = new OTViewerHelper();
mainDb = viewerHelper.loadOTDatabase(authoredContent);
viewerHelper.loadOTrunk(mainDb, null);
if (loadLearnerData) {
learnerDb = viewerHelper.loadOTDatabase(learnerContent);
viewerHelper.loadUserData(learnerDb, null);
}
otrunk = (OTrunkImpl) viewerHelper.getOtrunk();
rootObject = otrunk.getRoot();
}
}