public void Operation4(RegularEnum param1) { throw new NotImplementedException(); }
public void CompareEnums() { var sRegular = RegularEnum.Running.ToString(); string sEnhanced = StatusEnum.Running; string sFlags = FlagsEnum.Four; var iRegular = (int)RegularEnum.Running; int iEnhanced = StatusEnum.Running; int iFlags = FlagsEnum.Four; // String to Enum regularEnum = (RegularEnum)Enum.Parse(typeof(RegularEnum), sRegular); regularEnum = Enum.Parse <RegularEnum>(sRegular); enhancedEnum = sEnhanced; flagsEnum = sFlags; // Int to Enum regularEnum = (RegularEnum)iRegular; enhancedEnum = iEnhanced; flagsEnum = iFlags; // Flag Manipulation regularEnum = RegularEnum.Stopped | RegularEnum.Error; flagsEnum = FlagsEnum.Four | FlagsEnum.Eight; regularEnum.HasFlag(RegularEnum.Stopped); flagsEnum.HasFlag(FlagsEnum.Four); // regularEnum.HasFlag(2); // Compile Error flagsEnum.HasFlag(2); // Valid check // Errors on conversion: Configurable to be NULL / throw exception. Func <RegularEnum> regularAct = () => regularEnum = (RegularEnum)55; // Assigns 55 regularAct.Should() .NotThrow(); regularEnum.Should() .Be(55); regularAct = () => regularEnum = (RegularEnum)Enum.Parse(typeof(RegularEnum), "Running1"); // throws ArgumentException regularAct.Should() .Throw <ArgumentException>(); Func <StatusEnum> enhancedAct = () => enhancedEnum = 55; // returns null; enhancedAct.Should() .NotThrow(); enhancedEnum.Should() .BeNull(); enhancedAct = () => enhancedEnum = "Running1"; // returns null; enhancedAct.Should() .NotThrow(); enhancedEnum.Should() .BeNull(); StatusEnum.ThrowOnError = true; enhancedAct = () => enhancedEnum = 55; // throws InvalidOperationException enhancedAct.Should() .Throw <InvalidOperationException>(); enhancedAct = () => enhancedEnum = "Running1"; // throws InvalidOperationException enhancedAct.Should() .Throw <InvalidOperationException>(); }