package org.openrdf.repository.object; import junit.framework.Test; import org.openrdf.annotations.Iri; import org.openrdf.repository.object.base.ObjectRepositoryTestCase; public class PrimitiveWrapperTest extends ObjectRepositoryTestCase { public static Test suite() throws Exception { return ObjectRepositoryTestCase.suite(PrimitiveWrapperTest.class); } @Iri("urn:PrimitiveBehaviourWrapper") public static interface PrimitiveBehaviourWrapper { public Boolean getBoolean(); public Byte getByte(); public Character getChar(); public Double getDouble(); public Float getFloat(); public Integer getInt(); public Short getShort(); public String getString(); public void setBoolean(Boolean value); public void setByte(Byte value); public void setChar(Character value); public void setDouble(Double value); public void setFloat(Float value); public void setInt(Integer value); public void setShort(Short value); public void setString(String value); } public static class PrimitiveBehaviourImpl1 implements PrimitiveBehaviourWrapper { private Boolean booleanValue; private Byte byteValue; private Character charValue; private Double doubleValue; private Float floatValue; private Integer intValue; private Short shortValue; private String stringValue; public Boolean getBoolean() { if (count++ % 2 == 0) { return booleanValue; } return null; } public Byte getByte() { if (count++ % 2 == 0) { return byteValue; } return null; } public Character getChar() { if (count++ % 2 == 0) { return charValue; } return null; } public Double getDouble() { if (count++ % 2 == 0) { return doubleValue; } return null; } public Float getFloat() { if (count++ % 2 == 0) { return floatValue; } return null; } public Integer getInt() { if (count++ % 2 == 0) { return intValue; } return null; } public Short getShort() { if (count++ % 2 == 0) { return shortValue; } return null; } 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(Character value) { charValue = value; } public void setDouble(Double value) { doubleValue = value; } public void setFloat(Float value) { floatValue = value; } public void setInt(Integer value) { intValue = value; } public void setShort(Short value) { shortValue = value; } public void setString(String value) { stringValue = value; } } public static class PrimitiveBehaviourImpl2 implements PrimitiveBehaviourWrapper { private Boolean booleanValue; private Byte byteValue; private Character charValue; private Double doubleValue; private Float floatValue; private Integer intValue; private Short shortValue; private String stringValue; public Boolean getBoolean() { if (count++ % 2 == 0) { return booleanValue; } return null; } public Byte getByte() { if (count++ % 2 == 0) { return byteValue; } return null; } public Character getChar() { if (count++ % 2 == 0) { return charValue; } return null; } public Double getDouble() { if (count++ % 2 == 0) { return doubleValue; } return null; } public Float getFloat() { if (count++ % 2 == 0) { return floatValue; } return null; } public Integer getInt() { if (count++ % 2 == 0) { return intValue; } return null; } public Short getShort() { if (count++ % 2 == 0) { return shortValue; } return null; } 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(Character value) { charValue = value; } public void setDouble(Double value) { doubleValue = value; } public void setFloat(Float value) { floatValue = value; } public void setInt(Integer value) { intValue = value; } public void setShort(Short value) { shortValue = value; } public void setString(String value) { stringValue = value; } } @Iri("urn:PrimitiveWrapper") public static interface PrimitiveConceptWrapper { @Iri("urn:boolean") public Boolean getBoolean(); @Iri("urn:byte") public Byte getByte(); @Iri("urn:character") public Character getChar(); @Iri("urn:double") public Double getDouble(); @Iri("urn:float") public Float getFloat(); @Iri("urn:integer") public Integer getInt(); @Iri("urn:short") public Short getShort(); @Iri("urn:string") public String getString(); public void setBoolean(Boolean value); public void setByte(Byte value); public void setChar(Character value); public void setDouble(Double value); public void setFloat(Float value); public void setInt(Integer value); public void setShort(Short value); public void setString(String value); } @Iri("urn:PrimitiveClassWrapper") public static class PrimitiveConceptClassWrapper { @Iri("urn:boolean") private Boolean bool; @Iri("urn:byte") private Byte b; @Iri("urn:char") private Character chr; @Iri("urn:double") private Double doub; @Iri("urn:float") private Float flo; @Iri("urn:int") private Integer in; @Iri("urn:short") private Short shor; @Iri("urn:string") private String string; public Boolean getBool() { return bool; } public void setBool(Boolean bool) { this.bool = bool; } public Byte getB() { return b; } public void setB(Byte b) { this.b = b; } public Character getChr() { return chr; } public void setChr(Character 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 Integer getIn() { return in; } public void setIn(Integer 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; } } private static final Boolean booleanValue = true; private static final Byte byteValue = 1; private static final Character charValue = '1'; static int count; private static final Double doubleValue = 1d; private static final Float floatValue = 1f; private static final Integer intValue = 1; private static final Short shortValue = 1; private static final String stringValue = "1"; private PrimitiveConceptClassWrapper conceptClass; private PrimitiveConceptWrapper concept; private PrimitiveBehaviourWrapper behaviour; @Override protected void setUp() throws Exception { config.addConcept(PrimitiveConceptWrapper.class); config.addConcept(PrimitiveConceptClassWrapper.class); config.addConcept(PrimitiveBehaviourWrapper.class); config.addBehaviour(PrimitiveBehaviourImpl1.class); config.addBehaviour(PrimitiveBehaviourImpl2.class); super.setUp(); conceptClass = con.addDesignation(con.getObjectFactory().createObject(), PrimitiveConceptClassWrapper.class); concept = con.addDesignation(con.getObjectFactory().createObject(), PrimitiveConceptWrapper.class); behaviour = con.addDesignation(con.getObjectFactory().createObject(), PrimitiveBehaviourWrapper.class); } public void testBoolean() { assertEquals(null, conceptClass.getBool()); conceptClass.setBool(booleanValue); assertEquals(booleanValue, conceptClass.getBool()); assertEquals(null, concept.getBoolean()); concept.setBoolean(booleanValue); assertEquals(booleanValue, concept.getBoolean()); assertEquals(null, behaviour.getBoolean()); behaviour.setBoolean(booleanValue); assertEquals(booleanValue, behaviour.getBoolean()); } public void testByte() { assertEquals(null, conceptClass.getB()); conceptClass.setB(byteValue); assertEquals(byteValue, conceptClass.getB()); assertEquals(null, concept.getByte()); concept.setByte(byteValue); assertEquals(byteValue, concept.getByte()); assertEquals(null, behaviour.getByte()); behaviour.setByte(byteValue); assertEquals(byteValue, behaviour.getByte()); } public void testCharacter() { assertEquals(null, conceptClass.getChr()); conceptClass.setChr(charValue); assertEquals(charValue, conceptClass.getChr()); assertEquals(null, concept.getChar()); concept.setChar(charValue); assertEquals(charValue, concept.getChar()); assertEquals(null, behaviour.getChar()); behaviour.setChar(charValue); assertEquals(charValue, behaviour.getChar()); } public void testDouble() { assertEquals(null, conceptClass.getDoub()); conceptClass.setDoub(doubleValue); assertEquals(doubleValue, conceptClass.getDoub()); assertEquals(null, concept.getDouble()); concept.setDouble(doubleValue); assertEquals(doubleValue, concept.getDouble()); assertEquals(null, behaviour.getDouble()); behaviour.setDouble(doubleValue); assertEquals(doubleValue, behaviour.getDouble()); } public void testFloat() { assertEquals(null, conceptClass.getFlo()); conceptClass.setFlo(floatValue); assertEquals(floatValue, conceptClass.getFlo()); assertEquals(null, concept.getFloat()); concept.setFloat(floatValue); assertEquals(floatValue, concept.getFloat()); assertEquals(null, behaviour.getFloat()); behaviour.setFloat(floatValue); assertEquals(floatValue, behaviour.getFloat()); } public void testInteger() { assertEquals(null, conceptClass.getIn()); conceptClass.setIn(intValue); assertEquals(intValue, conceptClass.getIn()); assertEquals(null, concept.getInt()); concept.setInt(intValue); assertEquals(intValue, concept.getInt()); assertEquals(null, behaviour.getInt()); behaviour.setInt(intValue); assertEquals(intValue, behaviour.getInt()); } public void testShort() { assertEquals(null, conceptClass.getShor()); conceptClass.setShor(shortValue); assertEquals(shortValue, conceptClass.getShor()); assertEquals(null, concept.getShort()); concept.setShort(shortValue); assertEquals(shortValue, concept.getShort()); assertEquals(null, 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()); } }