package org.openrdf.repository.object;
import junit.framework.Test;
import org.openrdf.annotations.Iri;
import org.openrdf.repository.object.base.ObjectRepositoryTestCase;
public class PrimitiveTest extends ObjectRepositoryTestCase {
public static Test suite() throws Exception {
return ObjectRepositoryTestCase.suite(PrimitiveTest.class);
}
@Iri("urn:PrimitiveBehaviour")
public static interface PrimitiveBehaviour {
public boolean isBoolean();
public byte getByte();
public char getChar();
public double getDouble();
public float getFloat();
public int getInt();
public short getShort();
public String getString();
public void setBoolean(boolean value);
public void setByte(byte value);
public void setChar(char value);
public void setDouble(double value);
public void setFloat(float value);
public void setInt(int value);
public void setShort(short value);
public void setString(String value);
}
public static class PrimitiveBehaviourImpl1 implements PrimitiveBehaviour {
private boolean booleanValue;
private byte byteValue;
private char charValue;
private double doubleValue;
private float floatValue;
private int intValue;
private short shortValue;
private String stringValue;
public boolean isBoolean() {
if (count++ % 2 == 0) {
return booleanValue;
}
return false;
}
public byte getByte() {
if (count++ % 2 == 0) {
return byteValue;
}
return 0;
}
public char getChar() {
if (count++ % 2 == 0) {
return charValue;
}
return 0;
}
public double getDouble() {
if (count++ % 2 == 0) {
return doubleValue;
}
return 0;
}
public float getFloat() {
if (count++ % 2 == 0) {
return floatValue;
}
return 0;
}
public int getInt() {
if (count++ % 2 == 0) {
return intValue;
}
return 0;
}
public short getShort() {
if (count++ % 2 == 0) {
return shortValue;
}
return 0;
}
public String getString() {
if (count++ % 2 == 0) {
return stringValue;
}
return null;
}
public void setBoolean(boolean value) {
booleanValue = value;
}
public void setByte(byte value) {
byteValue = value;
}
public void setChar(char value) {
charValue = value;
}
public void setDouble(double value) {
doubleValue = value;
}
public void setFloat(float value) {
floatValue = value;
}
public void setInt(int value) {
intValue = value;
}
public void setShort(short value) {
shortValue = value;
}
public void setString(String value) {
stringValue = value;
}
}
public static class PrimitiveBehaviourImpl2 implements PrimitiveBehaviour {
private boolean booleanValue;
private byte byteValue;
private char charValue;
private double doubleValue;
private float floatValue;
private int intValue;
private short shortValue;
private String stringValue;
public boolean isBoolean() {
if (count++ % 2 == 0) {
return booleanValue;
}
return false;
}
public byte getByte() {
if (count++ % 2 == 0) {
return byteValue;
}
return 0;
}
public char getChar() {
if (count++ % 2 == 0) {
return charValue;
}
return 0;
}
public double getDouble() {
if (count++ % 2 == 0) {
return doubleValue;
}
return 0;
}
public float getFloat() {
if (count++ % 2 == 0) {
return floatValue;
}
return 0;
}
public int getInt() {
if (count++ % 2 == 0) {
return intValue;
}
return 0;
}
public short getShort() {
if (count++ % 2 == 0) {
return shortValue;
}
return 0;
}
public String getString() {
if (count++ % 2 == 0) {
return stringValue;
}
return null;
}
public void setBoolean(boolean value) {
booleanValue = value;
}
public void setByte(byte value) {
byteValue = value;
}
public void setChar(char value) {
charValue = value;
}
public void setDouble(double value) {
doubleValue = value;
}
public void setFloat(float value) {
floatValue = value;
}
public void setInt(int value) {
intValue = value;
}
public void setShort(short value) {
shortValue = value;
}
public void setString(String value) {
stringValue = value;
}
}
@Iri("urn:Primitive")
public static interface PrimitiveConcept {
@Iri("urn:boolean")
public boolean isBoolean();
@Iri("urn:byte")
public byte getByte();
@Iri("urn:char")
public char getChar();
@Iri("urn:double")
public double getDouble();
@Iri("urn:float")
public float getFloat();
@Iri("urn:int")
public int getInt();
@Iri("urn:short")
public short getShort();
@Iri("urn:string")
public String getString();
@Iri("urn:string")
public LangString getLangString();
@Iri("urn:boolean")
public void setBoolean(boolean value);
@Iri("urn:byte")
public void setByte(byte value);
@Iri("urn:char")
public void setChar(char value);
@Iri("urn:double")
public void setDouble(double value);
@Iri("urn:float")
public void setFloat(float value);
@Iri("urn:int")
public void setInt(int value);
@Iri("urn:short")
public void setShort(short value);
@Iri("urn:string")
public void setString(String value);
@Iri("urn:string")
public void setLangString(LangString value);
}
@Iri("urn:PrimitiveClass")
public static class PrimitiveConceptClass {
@Iri("urn:boolean")
private boolean bool;
@Iri("urn:byte")
private byte b;
@Iri("urn:char")
private char chr;
@Iri("urn:double")
private double doub;
@Iri("urn:float")
private float flo;
@Iri("urn:int")
private int in;
@Iri("urn:short")
private short shor;
@Iri("urn:string")
private String string;
@Iri("urn:string")
private LangString langString;
public boolean isBool() {
return bool;
}
public void setBool(boolean bool) {
this.bool = bool;
}
public byte getB() {
return b;
}
public void setB(byte b) {
this.b = b;
}
public char getChr() {
return chr;
}
public void setChr(char chr) {
this.chr = chr;
}
public double getDoub() {
return doub;
}
public void setDoub(double doub) {
this.doub = doub;
}
public float getFlo() {
return flo;
}
public void setFlo(float flo) {
this.flo = flo;
}
public int getIn() {
return in;
}
public void setIn(int in) {
this.in = in;
}
public short getShor() {
return shor;
}
public void setShor(short shor) {
this.shor = shor;
}
public String getString() {
return string;
}
public void setString(String string) {
this.string = string;
}
public LangString getLangString() {
return langString;
}
public void setLangString(LangString string) {
this.langString = string;
}
}
private static final boolean booleanValue = true;
private static final byte byteValue = 1;
private static final char charValue = '1';
static int count;
private static final double doubleValue = 1;
private static final float floatValue = 1;
private static final int intValue = 1;
private static final short shortValue = 1;
private static final String stringValue = "1";
private PrimitiveConcept concept;
private PrimitiveConceptClass conceptClass;
private PrimitiveBehaviour behaviour;
@Override
protected void setUp() throws Exception {
config.addConcept(PrimitiveConcept.class);
config.addConcept(PrimitiveConceptClass.class);
config.addConcept(PrimitiveBehaviour.class);
config.addBehaviour(PrimitiveBehaviourImpl1.class);
config.addBehaviour(PrimitiveBehaviourImpl2.class);
super.setUp();
conceptClass = con.addDesignation(con.getObjectFactory().createObject(), PrimitiveConceptClass.class);
concept = con.addDesignation(con.getObjectFactory().createObject(), PrimitiveConcept.class);
behaviour = con.addDesignation(con.getObjectFactory().createObject(), PrimitiveBehaviour.class);
}
public void testBoolean() {
assertEquals(false, conceptClass.isBool());
conceptClass.setBool(booleanValue);
assertEquals(booleanValue, conceptClass.isBool());
assertEquals(false, concept.isBoolean());
concept.setBoolean(booleanValue);
assertEquals(booleanValue, concept.isBoolean());
assertEquals(false, behaviour.isBoolean());
behaviour.setBoolean(booleanValue);
assertEquals(booleanValue, behaviour.isBoolean());
}
public void testByte() {
assertEquals(0, conceptClass.getB());
conceptClass.setB(byteValue);
assertEquals(byteValue, conceptClass.getB());
assertEquals(0, concept.getByte());
concept.setByte(byteValue);
assertEquals(byteValue, concept.getByte());
assertEquals(0, behaviour.getByte());
behaviour.setByte(byteValue);
assertEquals(byteValue, behaviour.getByte());
}
public void testChar() {
assertEquals(0, conceptClass.getChr());
conceptClass.setChr(charValue);
assertEquals(charValue, conceptClass.getChr());
assertEquals(0, concept.getChar());
concept.setChar(charValue);
assertEquals(charValue, concept.getChar());
assertEquals(0, behaviour.getChar());
behaviour.setChar(charValue);
assertEquals(charValue, behaviour.getChar());
}
public void testDouble() {
assertEquals(0.0, conceptClass.getDoub());
conceptClass.setDoub(doubleValue);
assertEquals(doubleValue, conceptClass.getDoub());
assertEquals(0.0, concept.getDouble());
concept.setDouble(doubleValue);
assertEquals(doubleValue, concept.getDouble());
assertEquals(0.0, behaviour.getDouble());
behaviour.setDouble(doubleValue);
assertEquals(doubleValue, behaviour.getDouble());
}
public void testFloat() {
assertEquals(0.0f, conceptClass.getFlo());
conceptClass.setFlo(floatValue);
assertEquals(floatValue, conceptClass.getFlo());
assertEquals(0.0f, concept.getFloat());
concept.setFloat(floatValue);
assertEquals(floatValue, concept.getFloat());
assertEquals(0.0f, behaviour.getFloat());
behaviour.setFloat(floatValue);
assertEquals(floatValue, behaviour.getFloat());
}
public void testInt() {
assertEquals(0, conceptClass.getIn());
conceptClass.setIn(intValue);
assertEquals(intValue, conceptClass.getIn());
assertEquals(0, concept.getInt());
concept.setInt(intValue);
assertEquals(intValue, concept.getInt());
assertEquals(0, behaviour.getInt());
behaviour.setInt(intValue);
assertEquals(intValue, behaviour.getInt());
}
public void testShort() {
assertEquals(0, conceptClass.getShor());
conceptClass.setShor(shortValue);
assertEquals(shortValue, conceptClass.getShor());
assertEquals(0, concept.getShort());
concept.setShort(shortValue);
assertEquals(shortValue, concept.getShort());
assertEquals(0, behaviour.getShort());
behaviour.setShort(shortValue);
assertEquals(shortValue, behaviour.getShort());
}
public void testString() {
assertEquals(null, conceptClass.getString());
conceptClass.setString(stringValue);
assertEquals(stringValue, conceptClass.getString());
assertEquals(null, concept.getString());
concept.setString(stringValue);
assertEquals(stringValue, concept.getString());
assertEquals(null, behaviour.getString());
behaviour.setString(stringValue);
assertEquals(stringValue, behaviour.getString());
}
public void testLangString() {
assertEquals(null, conceptClass.getLangString());
conceptClass.setLangString(new LangString(stringValue));
assertEquals(new LangString(stringValue), conceptClass.getLangString());
assertEquals(null, concept.getLangString());
concept.setLangString(new LangString(stringValue));
assertEquals(new LangString(stringValue), concept.getLangString());
}
public void testLangStringAsString() {
conceptClass.setLangString(new LangString(stringValue));
assertEquals(stringValue, conceptClass.getString());
concept.setLangString(new LangString(stringValue));
assertEquals(stringValue, concept.getString());
}
}