コード例 #1
0
        public void GetHashCode_UseDefault()
        {
            var s = "Scooby Doo";

            var comparer = new ComparerImpl <string>(String.CompareOrdinal);

            Assert.AreEqual(s.GetHashCode(), comparer.GetHashCode(s));
        }
コード例 #2
0
 public int IndexOf([NotNull] TEnum[] arr, TEnum val) => ComparerImpl.BinarySearch(arr, val);
コード例 #3
0
 public int Compare(TEnum x, TEnum y) => ComparerImpl.Compare(x, y);
コード例 #4
0
 public int GetHashCode(TEnum obj) => ComparerImpl.GetHashCode(obj);
コード例 #5
0
 public bool Equals(TEnum x, TEnum y) => ComparerImpl.Equals(x, y);
コード例 #6
0
        public void Equals_WhereNotEqual_ExpectTrue()
        {
            var comparer = new ComparerImpl <string>(String.CompareOrdinal);

            Assert.IsFalse(comparer.Equals("ABC", "DEF"));
        }
コード例 #7
0
        public void CompareObjectWithNotStrings_ExpectInvalidCastException()
        {
            var comparer = new ComparerImpl <string>((a, b) => 123);

            Assert.Throws <InvalidCastException>(() => comparer.Compare((object)1, (object)2));
        }
コード例 #8
0
        public void CompareObjectWithBothStrings_ExpectSuppliedComparerToBeCalled()
        {
            var comparer = new ComparerImpl <string>((a, b) => 123);

            Assert.AreEqual(123, comparer.Compare((object)"A", (object)"B"));
        }
コード例 #9
0
        public void CompareStrings_ExpectSuppliedComparerToBeCalled()
        {
            var comparer = new ComparerImpl <string>((a, b) => 123);

            Assert.AreEqual(123, comparer.Compare("A", "B"));
        }