public void can_compare_enum_fields_by_long_underlying_value() { var enumApi = new ApiEnumInfo(typeof(DisplayTestLongEnum)); var sortedEnums = enumApi.EnumerateMembers().OrderBy(e => e, new MemberInfoDisplayComparer()).Select(e => e.GetLocalName()).ToArray(); sortedEnums.ShouldBeEquivalentTo(new[] { nameof(DisplayTestLongEnum.Same), nameof(DisplayTestLongEnum.B), nameof(DisplayTestLongEnum.A) }); }
public void comparing_different_underlying_enum_types_returns_zero() { var intEnum = new ApiEnumInfo(typeof(DisplayTestEnum)).EnumerateMembers().First(m => m.GetLocalName() == "Same"); var longEnum = new ApiEnumInfo(typeof(DisplayTestLongEnum)).EnumerateMembers().First(m => m.GetLocalName() == "Same"); var comparer = new MemberInfoDisplayComparer(); comparer.Compare(intEnum, longEnum).ShouldBe(0); }