public void TestParseSmallEnum(string enumVal, bool ignoreCase = false) { SmallEnum ourResult = !ignoreCase?Enums.Parse <SmallEnum>(enumVal) : Enums.Parse <SmallEnum>(enumVal, true); SmallEnum theirResult = (SmallEnum)Enum.Parse(typeof(SmallEnum), enumVal, ignoreCase); ourResult.ShouldBeEquivalentTo(theirResult); }
public void EnumManager_Should_Return_False_For_Invalid_Enum_Values() { string parsedValue; SmallEnum invalidEnum = (SmallEnum)1000; Assert.IsFalse( EnumManager <SmallEnum> .TryGetString(invalidEnum, out parsedValue), "String retrieval didn't failed for excessive value."); }
public static int test_enum_sizeof_small_enum_in_struct_access(SmallEnum value) { var s = new MySmallEnumStruct { a = value, b = value, c = value }; return((int)s.a + (int)s.b + (int)s.c); }
public void PerformanceParser_Should_Parse_Each_Item_In_String_to_Enum_Map() { Dictionary <string, SmallEnum> nameToSmallEnumMap; Array values = System.Enum.GetValues(typeof(SmallEnum)); Assert.IsTrue( EnumPerformanceParser.TryCreateNameToEnumMap <SmallEnum>(out nameToSmallEnumMap), "Unable to parse"); Assert.AreEqual(values.Length, nameToSmallEnumMap.Count, "Output doesn't match input size"); for (int i = 0; i < values.Length; ++i) { SmallEnum value = (SmallEnum)values.GetValue(i); string valueText = value.ToString(); Assert.IsTrue( nameToSmallEnumMap.ContainsKey(valueText), "Value is missing: " + valueText); } }