public void TestParseFlagsEnum(string enumVal, bool ignoreCase = false) { FlagsLongEnum ourResult = !ignoreCase?Enums.Parse <FlagsLongEnum>(enumVal) : Enums.Parse <FlagsLongEnum>(enumVal, true); var theirResult = (FlagsLongEnum)Enum.Parse(typeof(FlagsLongEnum), enumVal); ourResult.ShouldBeEquivalentTo(theirResult); }
static void AddFlags(int runs) { FlagsLongEnum one = FlagsLongEnum.One, two = FlagsLongEnum.Eight, three = FlagsLongEnum.Five, result = default(FlagsLongEnum); for (var i = 0; i < runs; i++) { result = one.AddFlags(two, three); } }
static void ParseCaseInsensitive(int runs) { FlagsLongEnum pone = default(FlagsLongEnum), ptwo = default(FlagsLongEnum), pthree = default(FlagsLongEnum); for (var i = 0; i < runs; i++) { pone = Enums.Parse <FlagsLongEnum>("one", true); ptwo = Enums.Parse <FlagsLongEnum>("sEven, four", true); pthree = Enums.Parse <FlagsLongEnum>("nine, teN", true); } if (pone != FlagsLongEnum.One || (ptwo != (FlagsLongEnum.Seven | FlagsLongEnum.Four)) || pthree != (FlagsLongEnum.Nine | FlagsLongEnum.Ten)) { throw new Exception($"Result '{pone}', '{ptwo}', '{pthree}' was not correct"); } }
static void Parse(int runs) { FlagsLongEnum pone = default(FlagsLongEnum), ptwo = default(FlagsLongEnum), pthree = default(FlagsLongEnum); for (var i = 0; i < runs; i++) { pone = Enums.Parse <FlagsLongEnum>("One"); ptwo = Enums.Parse <FlagsLongEnum>("Seven, Four"); pthree = Enums.Parse <FlagsLongEnum>("Nine, Ten"); } if (pone != FlagsLongEnum.One || (ptwo != (FlagsLongEnum.Seven | FlagsLongEnum.Four)) || pthree != (FlagsLongEnum.Nine | FlagsLongEnum.Ten)) { throw new Exception($"Result '{pone}', '{ptwo}', '{pthree}' was not correct"); } }
public void TestFlagsAsString() { FlagsLongEnum flagVal = FlagsLongEnum.Eight | FlagsLongEnum.Five; flagVal.AsString().ShouldBeEquivalentTo(flagVal.ToString()); }