public void DictionaryEqualityComparerReturnsTrueIfFirstAndSecondAreBothNull()
        {
            var comparer = new DictionaryEqualityComparer <string, int>(EqualityComparer <int> .Default);

            IDictionary <string, int> first  = null;
            IDictionary <string, int> second = null;

            bool result = comparer.Equals(first, second);

            Assert.IsTrue(result);
        }
        public static bool ArePermutations_CountingFrequencies(string a, string b)
        {
            if (a.Length != b.Length)
            {
                return(false);
            }

            var aCharCounts = GetCharacterFrequencies(a);
            var bCharCounts = GetCharacterFrequencies(b);

            var dictEqualityComparer = new DictionaryEqualityComparer <char, int>();

            return(dictEqualityComparer.Equals(aCharCounts, bCharCounts));
        }
        public void DictionaryEqualityComaprerReturnsFalseIfSecondDictionaryIsNull()
        {
            var comparer = new DictionaryEqualityComparer <string, int>(EqualityComparer <int> .Default);

            IDictionary <string, int> first = new Dictionary <string, int>
            {
                { "A", 1 },
                { "B", 2 },
                { "C", 3 },
                { "D", 4 },
            };
            IDictionary <string, int> second = null;

            bool result = comparer.Equals(first, second);

            Assert.IsFalse(result);
        }
        public void DictionaryEqualityComparerReturnsTrueIfDictionariesAreSameReference()
        {
            var comparer = new DictionaryEqualityComparer <string, int>(EqualityComparer <int> .Default);

            IDictionary <string, int> first = new Dictionary <string, int>
            {
                { "A", 1 },
                { "B", 2 },
                { "C", 3 },
                { "D", 4 },
            };
            IDictionary <string, int> second = first;

            bool result = comparer.Equals(first, second);

            Assert.IsTrue(result);
        }
        public void DictionaryEqualityComparerReturnsFalseIfFirstIsShorterLengthThanSecond()
        {
            var comparer = new DictionaryEqualityComparer <string, int>(EqualityComparer <int> .Default);

            IDictionary <string, int> first  = new Dictionary <string, int>();
            IDictionary <string, int> second = new Dictionary <string, int>
            {
                { "A", 1 },
                { "B", 2 },
                { "C", 3 },
                { "D", 4 },
            };

            bool result = comparer.Equals(first, second);

            Assert.IsFalse(result);
        }
        public bool Test()
        {
            if (_expectedResult.Length != _actualResult.Length)
            {
                return(false);
            }
            DictionaryEqualityComparer <K, V> comparer = new DictionaryEqualityComparer <K, V>();

            for (int i = 0; i != _expectedResult.Length; ++i)
            {
                if (!comparer.Equals(_expectedResult[i], _actualResult[i]))
                {
                    return(false);
                }
            }
            return(true);
        }
        public void DictionaryEqualityComparerReturnsTrueIfFirstAndSecondDictionaryKeyValuePairsAreTheSameButDifferentOrder()
        {
            var comparer = new DictionaryEqualityComparer <string, int>(EqualityComparer <int> .Default);

            IDictionary <string, int> first = new Dictionary <string, int>
            {
                { "A", 1 },
                { "B", 2 },
                { "C", 3 },
                { "D", 4 },
            };
            IDictionary <string, int> second = new Dictionary <string, int>
            {
                { "D", 4 },
                { "B", 2 },
                { "C", 3 },
                { "A", 1 }
            };

            bool result = comparer.Equals(first, second);

            Assert.IsTrue(result);
        }
        public void DictionaryEqualityComparerReturnsFalseIfFirstAndSecondValuesAreDifferent()
        {
            var comparer = new DictionaryEqualityComparer <string, int>(EqualityComparer <int> .Default);

            IDictionary <string, int> first = new Dictionary <string, int>
            {
                { "A", 1 },
                { "B", 2 },
                { "C", 3 },
                { "D", 4 },
            };
            IDictionary <string, int> second = new Dictionary <string, int>
            {
                { "A", 1 },
                { "B", 2 },
                { "C", 3 },
                { "D", 5 },
            };

            bool result = comparer.Equals(first, second);

            Assert.IsFalse(result);
        }
 public bool Equals(object other, IEqualityComparer comparer)
 {
     return(DictionaryEqualityComparer <TKey, TValue> .Equals(this, other, comparer));
 }
 public void Equals_xNullyNotNull_false()
 {
     _x = null;
     _y.Add("0", "Zero");
     Assert.IsFalse(_comparer.Equals(_x, _y));
 }
Example #11
0
        public void Null()
        {
            Assert.True(_testComparer.Equals(null, null));
            Assert.False(_testComparer.Equals(null, new Dictionary <string, string>()));
            Assert.False(_testComparer.Equals(new Dictionary <string, string>(), null));

            Assert.AreEqual(0, _testComparer.GetHashCode(null));
        }