Beispiel #1
0
 public object ReadEnumerator(Type enumType)
 {
     if (!enumType.IsEnum)
     {
         throw new ArgumentException();
     }
     if (enumType.IsDefined(typeof(FlagsAttribute), false))
     {
         var flags = new HashSet <CName>();
         while (true)
         {
             var flag = ReadCName();
             if (CName.IsNullOrEmpty(flag))
             {
                 break;
             }
             flags.Add(flag);
         }
         return(EnumExtensions.ConvertToEnum(enumType, flags));
     }
     else
     {
         var name = ReadCName();
         return(Enum.Parse(enumType, name));
     }
 }
        public void Test_ConvertToEnum_Negative()
        {
            // Arrange/Act
            var third = EnumExtensions.ConvertToEnum <MyTestEnum>("");

            // Assert
            Assert.Equal(MyTestEnum.Zero, third);
        }
        public void Test_ConvertToEnum_Positive()
        {
            // Arrange/Act
            var third = EnumExtensions.ConvertToEnum <MyTestEnum>("Three");

            // Assert
            Assert.Equal(MyTestEnum.Three, third);
        }