Пример #1
0
        public void ByTest1()
        {
            var actual = new KeyEqualityComparer <String, String>(x => x, new StringLengthComparer());
            var equals = actual.Equals("test", "1234");

            equals.Should()
            .BeTrue();
        }
Пример #2
0
        public void ByTest()
        {
            var actual = new KeyEqualityComparer <String, Int32>(x => x.Length, null);
            var equals = actual.Equals("test", "1234");

            equals.Should()
            .BeTrue();
        }
Пример #3
0
        /// <summary>
        /// Determines whether a sequence contains the specified element.
        /// </summary>
        public static bool EqualsAny <TElement, TKey>(this TElement element, IEnumerable <TElement> source, Func <TElement, TKey> keySelector)
        {
            _ = element ?? throw new ArgumentNullException(nameof(element));
            _ = source ?? throw new ArgumentNullException(nameof(source));
            _ = keySelector ?? throw new ArgumentNullException(nameof(keySelector));

            var equalityComparer = new KeyEqualityComparer <TElement, TKey>(keySelector);

            return(source.Any(i => equalityComparer.Equals(i, element)));
        }
Пример #4
0
        public void TestStringAndInts(string str1, string str2, bool bExpected)
        {
            var keyComparer = new KeyEqualityComparer <string, int>(str => str.Length);

            Assert.AreEqual(keyComparer.Equals(str1, str2), bExpected);
        }
Пример #5
0
        public void TestStrings(string str1, string str2, bool bExpected)
        {
            var keyComparer = new KeyEqualityComparer <string, string>(str => str.ToLower());

            Assert.AreEqual(keyComparer.Equals(str1, str2), bExpected);
        }
Пример #6
0
        public void TestInts(int x, int y, bool ret)
        {
            var keyComparer = new KeyEqualityComparer <int, int>(i => i % 2);

            Assert.AreEqual(keyComparer.Equals(x, y), ret);
        }