public void Should_compare_original_item_if_selector_returns_it() { var comparer = new ProjectionEqualityComparer <string, string>(s => s); comparer.Equals("value", "value").Should().BeTrue(); comparer.Equals("value", "othervalue").Should().BeFalse(); }
public void Should_compare_nulls() { var comparer = new ProjectionEqualityComparer <string, string>(s => s); comparer.Equals(null, null).Should().BeTrue(); comparer.Equals("value", null).Should().BeFalse(); comparer.Equals(null, "value").Should().BeFalse(); }
public void Should_use_provided_comparer() { var caseInsensitiveComparer = new ProjectionEqualityComparer <string, string>(s => s, StringComparer.OrdinalIgnoreCase); caseInsensitiveComparer.Equals("value", "VALUE").Should().BeTrue(); var caseSensitiveComparer = new ProjectionEqualityComparer <string, string>(s => s, StringComparer.Ordinal); caseSensitiveComparer.Equals("value", "VALUE").Should().BeFalse(); }
public void Should_compare_projected_objects(string value, string otherValue) { var comparer = new ProjectionEqualityComparer <string, string>(s => s.Substring(0, 3)); comparer.Equals(value, otherValue).Should().BeTrue(); }