public void test_enumerate_enum_by_type() { var etype = Type.Resolve("N.Package.Core.OptionType").Unwrap(); var items = Enum.Enumerate(etype); Assert(Array.IndexOf(items, "Some") >= 0); Assert(Array.IndexOf(items, "None") >= 0); }
public void test_parse() { var etype = Type.Resolve("N.Package.Core.OptionType").Unwrap(); var some = Enum.Resolve <OptionType>(etype, "Some"); var none = Enum.Resolve <OptionType>(etype, "None"); var invalid = Enum.Resolve <OptionType>(etype, "ERROR"); Assert(some.IsSome); Assert(none.IsSome); Assert(invalid.IsNone); }
/// Return a string list of enum values on a given enum type public static string[] Enumerate(string enumType) { var actualType = Type.Resolve(enumType); var items = new List <string>(); if (actualType) { try { foreach (var item in System.Enum.GetValues(actualType.Unwrap())) { items.Add(item.ToString()); } } catch (ArgumentException) { /// Wasn't an enum } } return(items.ToArray()); }
public void test_resolve() { Assert(Type.Resolve(typeof(Option).AssemblyQualifiedName).IsSome); Assert(Type.Resolve(typeof(Option).AssemblyQualifiedName).Unwrap() == typeof(Option)); Assert(Type.Resolve("N.OptionADSFDSF").IsNone); }