Exemple #1
0
        public virtual void test_enum_SampleOther()
        {
            ExtendedEnum <SampleOther> test = ExtendedEnum.of(typeof(SampleOther));

            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]");
        }
            /// <summary>
            /// Looks up an instance by name.
            /// <para>
            /// This finds the instance matching the specified name.
            /// Instances may have alternate names (aliases), thus the returned instance
            /// may have a name other than that requested.
            ///
            /// </para>
            /// </summary>
            /// <param name="name">  the enum name to return </param>
            /// <returns> the named enum </returns>
            /// <exception cref="IllegalArgumentException"> if the name is not found </exception>
            public T lookup(string name)
            {
                string standardName = externalNames_Renamed.getOrDefault(name, name);

                try
                {
                    return(extendedEnum.lookup(standardName));
                }
                catch (System.ArgumentException)
                {
                    throw new System.ArgumentException(Messages.format("{}:{} unable to find external name: {}", extendedEnum.type.Name, group, name));
                }
            }
Exemple #3
0
        public virtual void test_enum_SampleNamed()
        {
            ExtendedEnum <SampleNamed> test = ExtendedEnum.of(typeof(SampleNamed));

            assertEquals(test.lookupAll(), ImmutableMap.builder().put("Standard", SampleNameds.STANDARD).put("STANDARD", SampleNameds.STANDARD).put("More", MoreSampleNameds.MORE).put("MORE", MoreSampleNameds.MORE).put("Other", OtherSampleNameds.OTHER).put("Another1", SampleNamedInstanceLookup1.ANOTHER1).put("ANOTHER1", SampleNamedInstanceLookup1.ANOTHER1).put("Another2", SampleNamedInstanceLookup2.ANOTHER2).put("ANOTHER2", SampleNamedInstanceLookup2.ANOTHER2).build());
            assertEquals(test.lookupAllNormalized(), ImmutableMap.builder().put("Standard", SampleNameds.STANDARD).put("More", MoreSampleNameds.MORE).put("Other", OtherSampleNameds.OTHER).put("Another1", SampleNamedInstanceLookup1.ANOTHER1).put("Another2", SampleNamedInstanceLookup2.ANOTHER2).build());
            assertEquals(test.alternateNames(), ImmutableMap.of("Alternate", "Standard", "ALTERNATE", "Standard"));
            assertEquals(test.Type, typeof(SampleNamed));
            assertEquals(test.find("Standard"), SampleNameds.STANDARD);
            assertEquals(test.find("STANDARD"), SampleNameds.STANDARD);
            assertEquals(test.find("Rubbish"), null);
            assertEquals(test.lookup("Standard"), SampleNameds.STANDARD);
            assertEquals(test.lookup("Alternate"), SampleNameds.STANDARD);
            assertEquals(test.lookup("ALTERNATE"), SampleNameds.STANDARD);
            assertEquals(test.lookup("More"), MoreSampleNameds.MORE);
            assertEquals(test.lookup("More", typeof(MoreSampleNameds)), MoreSampleNameds.MORE);
            assertEquals(test.lookup("Other"), OtherSampleNameds.OTHER);
            assertEquals(test.lookup("Other", typeof(OtherSampleNameds)), OtherSampleNameds.OTHER);
            assertEquals(test.lookup("Another1"), SampleNamedInstanceLookup1.ANOTHER1);
            assertEquals(test.lookup("Another2"), SampleNamedInstanceLookup2.ANOTHER2);
            assertThrowsIllegalArg(() => test.lookup("Rubbish"));
            assertThrowsIllegalArg(() => test.lookup(null));
            assertThrowsIllegalArg(() => test.lookup("Other", typeof(MoreSampleNameds)));
            assertEquals(test.ToString(), "ExtendedEnum[SampleNamed]");
        }