public void GetOrCreate()
        {
            var dictionary = new Dictionary <string, int>();

            Assert.IsTrue(DictionaryEqualByComparer.TryGetOrCreate(dictionary, dictionary, out EqualByComparer comparer));
            Assert.IsInstanceOf <DictionaryEqualByComparer <string, int> >(comparer);
        }
Exemplo n.º 2
0
        private static bool EnumerableEquals(
            object x,
            object y,
            MemberSettings settings,
            ReferencePairCollection referencePairs)
        {
            if (ListEqualByComparer.TryGetOrCreate(x, y, out var comparer) ||
                ReadOnlyListEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                SetEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ArrayEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                DictionaryEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ReadOnlyDictionaryEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                EnumerableEqualByComparer.TryGetOrCreate(x, y, out comparer))
            {
                return(comparer.Equals(x, y, settings, referencePairs));
            }

            throw Throw.ShouldNeverGetHereException($"Could not compare enumerables of type {x.GetType().PrettyName()}");
        }