@Test public void testEquality() { ProtoEnumSoyType a = ProtoEnumSoyType.get(TestProto.Color.getDescriptor()); ProtoEnumSoyType b = ProtoEnumSoyType.get(TestProto.Color.getDescriptor()); assertEquals(a, a); assertEquals(a.hashCode(), a.hashCode()); assertEquals(a, b); assertEquals(b, a); assertEquals(a.hashCode(), b.hashCode()); ProtoEnumSoyType c = ProtoEnumSoyType.get(TestProto.Fruit.getDescriptor()); assertNotEquals(a, c); assertNotEquals(c, a); ProtoEnumSoyType d = ProtoEnumSoyType.get( TestProto.Order.getDescriptor().findFieldByName("color").getEnumType()); assertEquals(a, d); assertEquals(d, a); assertEquals(a.hashCode(), d.hashCode()); ProtoEnumSoyType e = ProtoEnumSoyType.get( TestProto.Order.getDescriptor().findFieldByName("fruit").getEnumType()); assertEquals(c, e); assertEquals(e, c); assertEquals(c.hashCode(), e.hashCode()); assertNotEquals(a, e); }
@Test public void testGetName_nestedEnum() { assertEquals( "test.Top.NestedEnum", ProtoEnumSoyType.get(TestProto.Top.NestedEnum.getDescriptor()).getName()); assertEquals( "test.Top.NestedEnum", ProtoEnumSoyType.get(TestProto.Top.NestedEnum.getDescriptor()).getNameForBackend(null)); }
@Test public void testGetName() { assertEquals("test.Color", ProtoEnumSoyType.get(TestProto.Color.getDescriptor()).getName()); assertEquals( "test.Color", ProtoEnumSoyType.get(TestProto.Color.getDescriptor()).getNameForBackend(null)); assertEquals( "test.Color", ProtoEnumSoyType.get(TestProto.Order.getDescriptor().findFieldByName("color").getEnumType()) .getName()); assertEquals( "test.Color", ProtoEnumSoyType.get(TestProto.Order.getDescriptor().findFieldByName("color").getEnumType()) .getNameForBackend(null)); }
@Test public void testIsInstance() { ProtoEnumSoyValue red = ProtoEnumSoyValue.get(TestProto.Color.RED); ProtoEnumSoyValue apple = ProtoEnumSoyValue.get(TestProto.Fruit.APPLE); ProtoEnumSoyType color = ProtoEnumSoyType.get(TestProto.Color.getDescriptor()); assertTrue(color.isInstance(red)); assertFalse(color.isInstance(apple)); assertFalse(color.isInstance(BooleanData.TRUE)); }
@Test public void testGetValue() { ProtoEnumSoyType type = ProtoEnumSoyType.get(TestProto.Color.getDescriptor()); assertNull(type.getValue("unknown value")); assertEquals(Integer.valueOf(TestProto.Color.BLUE_VALUE), type.getValue("BLUE")); }