public static void Does_not_remove_elements_that_do_not_match_the_passed_element_but_each_other() { IEnumerable<string> fruits = new[] { "apple", "apricot", "banana", "cherry" }; const string elementToRemove = "apricot"; IEqualityComparer<string> stringLengthEqualityComparer = new StringLengthEqualityComparer<string>(); IEnumerable<string> fruitsWithoutElement = fruits.Without(stringLengthEqualityComparer, elementToRemove); fruitsWithoutElement.Should().NotContain("apricot"); fruitsWithoutElement.Should().HaveCount(3); }
public static void Returns_sequence_without_elements_equal_to_passed_element() { IEnumerable<string> fruits = new[] { "apple", "apricot", "banana", "cherry" }; const string elementToRemove = "banana"; IEqualityComparer<string> stringLengthEqualityComparer = new StringLengthEqualityComparer<string>(); fruits = fruits.Without(stringLengthEqualityComparer, elementToRemove); fruits.Should().NotContain("banana"); fruits.Should().NotContain("cherry"); fruits.Should().HaveCount(2); }
public static void Returns_unmodified_sequence_when_sequence_does_not_contain_any_element_to_remove_with_equality_comparer() { IEnumerable<string> stringNumbers = new[] { "1", "22", "333", "4444" }; const string elementToRemove = "55555"; IEqualityComparer<string> stringLengthEqualityComparer = new StringLengthEqualityComparer<string>(); stringNumbers = stringNumbers.Without(stringLengthEqualityComparer, elementToRemove); stringNumbers.Should().HaveCount(4); }