package jalse.attributes; import org.junit.After; import org.junit.Assert; import org.junit.Test; import jalse.entities.Entity; public class AttributesTest { AttributeType<?> attributeType; @After public void after() { attributeType = null; } @Test public void attributeTypeTest() { Assert.assertEquals(new AttributeType<Boolean>() {}, Attributes.BOOLEAN_TYPE); Assert.assertEquals(new AttributeType<Integer>() {}, Attributes.INTEGER_TYPE); Assert.assertEquals(new AttributeType<String>() {}, Attributes.STRING_TYPE); Assert.assertEquals(new AttributeType<Double>() {}, Attributes.DOUBLE_TYPE); Assert.assertEquals(new AttributeType<Character>() {}, Attributes.CHARACTER_TYPE); Assert.assertEquals(new AttributeType<Long>() {}, Attributes.LONG_TYPE); Assert.assertEquals(new AttributeType<Byte>() {}, Attributes.BYTE_TYPE); Assert.assertEquals(new AttributeType<Float>() {}, Attributes.FLOAT_TYPE); Assert.assertEquals(new AttributeType<Short>() {}, Attributes.SHORT_TYPE); Assert.assertEquals(new AttributeType<Object>() {}, Attributes.OBJECT_TYPE); Assert.assertEquals(new AttributeType<Entity>() {}, Attributes.newTypeOf(Entity.class)); Assert.assertEquals(new AttributeType<Entity>() {}, Attributes.newUnknownType(Entity.class)); } @Test public void emptyContainerTest() { Assert.assertTrue(Attributes.EMPTY_ATTRIBUTECONTAINER instanceof UnmodifiableDelegateAttributeContainer); Assert.assertTrue(Attributes.emptyAttributeContainer() instanceof UnmodifiableDelegateAttributeContainer); } @Test(expected = IllegalArgumentException.class) public void emptyStringTest() { Attributes.requireNotEmpty(""); } @Test public void namedAttributeTypeTest() { Assert.assertEquals(new NamedAttributeType<>("test", Attributes.BOOLEAN_TYPE), Attributes.newNamedBooleanType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.INTEGER_TYPE), Attributes.newNamedIntegerType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.STRING_TYPE), Attributes.newNamedStringType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.DOUBLE_TYPE), Attributes.newNamedDoubleType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.CHARACTER_TYPE), Attributes.newNamedCharacterType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.LONG_TYPE), Attributes.newNamedLongType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.BYTE_TYPE), Attributes.newNamedByteType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.FLOAT_TYPE), Attributes.newNamedFloatType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.SHORT_TYPE), Attributes.newNamedShortType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.OBJECT_TYPE), Attributes.newNamedObjectType("test")); Assert.assertEquals(new NamedAttributeType<>("test", Attributes.newTypeOf(Entity.class)), Attributes.newNamedTypeOf("test", Entity.class)); Assert.assertEquals(new NamedAttributeType<>("test", new AttributeType<Object>(Entity.class) {}), Attributes.newNamedUnknownType("test", Entity.class)); } @Test public void notEmptyStringTest() { Assert.assertEquals("test", Attributes.requireNotEmpty("test")); } @Test public void unmodifiableAttributeContainerTest() { final AttributeContainer container = new DefaultAttributeContainer(); Assert.assertTrue( Attributes.unmodifiableAttributeContainer(container) instanceof UnmodifiableDelegateAttributeContainer); } }