/// <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); }
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); }