public void GetAllEnumFlags() { try { _ = #if WinCopies3 WinCopies.UtilHelpers #else WinCopies.Util.Util #endif .GetAllEnumFlags <TestEnum>(); // We shouldn't reach this code. So, if we do, we throw an assertion exception. Assert.Fail(); } catch (ArgumentException) { } TestEnumFlags result = #if WinCopies3 WinCopies.UtilHelpers #else WinCopies.Util.Util #endif .GetAllEnumFlags <TestEnumFlags>(); foreach (object _enum in typeof(TestEnumFlags).GetEnumValues()) { Assert.IsTrue(result.HasFlag((TestEnumFlags)_enum)); } }
public void ImmediateFieldGetValue_Enum() { // Simple TestEnum const TestEnum testEnum1 = TestEnum.EnumValue2; var immediateField = new ImmediateField(TestEnumFieldValueFieldInfo); Assert.AreEqual((int)TestEnum.EnumValue2, immediateField.GetValue(testEnum1)); immediateField = new ImmediateField(TestEnumField2FieldInfo); Assert.AreEqual(TestEnum.EnumValue2, immediateField.GetValue(null)); // TestEnum (inherit ulong) const TestEnumULong testEnum2 = TestEnumULong.EnumValue1; immediateField = new ImmediateField(TestEnumULongFieldValueFieldInfo); Assert.AreEqual((ulong)TestEnumULong.EnumValue1, immediateField.GetValue(testEnum2)); immediateField = new ImmediateField(TestEnumULongField1FieldInfo); Assert.AreEqual(TestEnumULong.EnumValue1, immediateField.GetValue(null)); // TestEnumFlags const TestEnumFlags testEnum3 = TestEnumFlags.EnumValue1 | TestEnumFlags.EnumValue2; immediateField = new ImmediateField(TestEnumFlagsFieldValueFieldInfo); Assert.AreEqual((int)(TestEnumFlags.EnumValue1 | TestEnumFlags.EnumValue2), immediateField.GetValue(testEnum3)); immediateField = new ImmediateField(TestEnumFlagsField3FieldInfo); Assert.AreEqual(TestEnumFlags.EnumValue3, immediateField.GetValue(null)); }
public ArgsEnum() { BeUnknown = TestEnum.Unknown; TooTrue = TestEnum.CantBeTruer; Legendary = TestEnum.Legend; TooBad = TestEnum.False; ResultEffect = TestEnumFlags.Good; }
public void ToValueStringTest() { Assert.AreEqual("ValueAttribute1", ((ValuedEnum <TestEnum>)TestEnum.Value1).ToValueString()); Assert.AreEqual("Value2", ((ValuedEnum <TestEnum>)TestEnum.Value2).ToValueString()); TestEnumFlags testEnumFlags = TestEnumFlags.Value1 | TestEnumFlags.Value2; Assert.AreEqual("ValueAttribute1, Value2", ((ValuedEnum <TestEnumFlags>)testEnumFlags).ToValueString()); }