public static ExtendedEnum<SampleNamed> extendedEnum() { return ExtendedEnum.of(SampleNamed.class); }
public void test_enum_lenient() { ExtendedEnum<SampleNamed> test = ExtendedEnum.of(SampleNamed.class); assertEquals(test.findLenient("Standard"), Optional.of(SampleNameds.STANDARD)); assertEquals(test.findLenient("A1"), Optional.of(SampleNameds.STANDARD)); assertEquals(test.findLenient("A2"), Optional.of(MoreSampleNameds.MORE)); }
public void test_enum_invalid() { Logger logger = Logger.getLogger(ExtendedEnum.class.getName()); Level level = logger.getLevel(); try { logger.setLevel(Level.OFF); // these return empty instances to avoid ExceptionInInitializerError assertEquals(ExtendedEnum.of(SampleInvalid1.class).lookupAll().isEmpty(), true); assertEquals(ExtendedEnum.of(SampleInvalid2.class).lookupAll().isEmpty(), true); assertEquals(ExtendedEnum.of(SampleInvalid3.class).lookupAll().isEmpty(), true); assertEquals(ExtendedEnum.of(SampleInvalid4.class).lookupAll().isEmpty(), true); assertEquals(ExtendedEnum.of(SampleInvalid5.class).lookupAll().isEmpty(), true); assertEquals(ExtendedEnum.of(SampleInvalid6.class).lookupAll().isEmpty(), true); assertEquals(ExtendedEnum.of(SampleInvalid7.class).lookupAll().isEmpty(), true); } finally { logger.setLevel(level); } }
public void test_enum_SampleOther() { ExtendedEnum<SampleOther> test = ExtendedEnum.of(SampleOther.class); assertEquals(test.lookupAll(), ImmutableMap.of()); assertEquals(test.alternateNames(), ImmutableMap.of()); assertEquals(test.externalNameGroups(), ImmutableSet.of()); assertThrowsIllegalArg(() -> test.lookup("Rubbish")); assertThrowsIllegalArg(() -> test.lookup(null)); assertEquals(test.toString(), "ExtendedEnum[SampleOther]"); }
public void test_enum_SampleNamed() { ExtendedEnum<SampleNamed> test = ExtendedEnum.of(SampleNamed.class); assertEquals(test.lookupAll(), ImmutableMap.builder()
public void test_enum_SampleNamed_externals() { ExtendedEnum<SampleNamed> test = ExtendedEnum.of(SampleNamed.class); assertEquals(test.externalNameGroups(), ImmutableSet.of("Foo", "Bar")); assertThrowsIllegalArg(() -> test.externalNames("Rubbish")); ExternalEnumNames<SampleNamed> fooExternals = test.externalNames("Foo"); assertEquals(fooExternals.lookup("Foo1"), SampleNameds.STANDARD); assertEquals(fooExternals.lookup("Foo1", SampleNamed.class), SampleNameds.STANDARD); assertEquals(fooExternals.lookup("Foo1", SampleNamed.class), SampleNameds.STANDARD); assertEquals(fooExternals.externalNames(), ImmutableMap.of("Foo1", "Standard")); assertThrowsIllegalArg(() -> fooExternals.lookup("Rubbish")); assertThrowsIllegalArg(() -> fooExternals.lookup(null)); assertThrowsIllegalArg(() -> fooExternals.lookup("Other", MoreSampleNameds.class)); assertEquals(fooExternals.toString(), "ExternalEnumNames[SampleNamed:Foo]"); ExternalEnumNames<SampleNamed> barExternals = test.externalNames("Bar"); assertEquals(barExternals.lookup("Foo1"), MoreSampleNameds.MORE); assertEquals(barExternals.lookup("Foo2"), SampleNameds.STANDARD); assertEquals(barExternals.reverseLookup(MoreSampleNameds.MORE), "Foo1"); assertEquals(barExternals.reverseLookup(SampleNameds.STANDARD), "Foo2"); assertThrowsIllegalArg(() -> barExternals.reverseLookup(OtherSampleNameds.OTHER)); assertEquals(barExternals.externalNames(), ImmutableMap.of("Foo1", "More", "Foo2", "Standard")); assertEquals(barExternals.toString(), "ExternalEnumNames[SampleNamed:Bar]"); }