예제 #1
0
    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);
    }
예제 #2
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);
    }
예제 #3
0
파일: Enum.cs 프로젝트: PcloD/unity-n-core
        /// 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());
        }
예제 #4
0
 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);
 }