示例#1
0
        /// <summary>
        /// Add a custom IEqualityComparer that will be used to compare any argument of type T
        /// </summary>
        public void WithEqualityComparer <T>(IEqualityComparer <T> equalityComparer)
        {
            if (equalityComparer == null)
            {
                throw new ArgumentNullException(nameof(equalityComparer));
            }

            comparersStore.Add <T>(equalityComparer);
        }
示例#2
0
        public void Selects_the_correct_equality_comparer_registered()
        {
            //Arrange
            var stringComparerMock = new Mock <IEqualityComparer <string> >();

            var comparerStore = new ComparersStore();

            comparerStore.Add(stringComparerMock.Object);

            //Act
            var wrapper = comparerStore.Get <string>() as EqualityComparerWrapper <string>;

            //Assert
            wrapper.Should().NotBeNull();
            wrapper.Comparer.Should().BeSameAs(stringComparerMock.Object);
        }