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); }