public void Equals_WithSelectionModeAny_WhenMultipleElementsExistAndOneMatches_ShouldReturnMatch() { const string expected = "<p>text</p>"; const string candidate = @" <section class='someClass'><p>nope</p></section> <section class='someClass'><p>text</p></section> <section class='someClass'><p>fake</p></section> "; var comparer = new HtmlComparer(new HtmlCompareOptions { ElementSelectionMode = ElementSelectionMode.Any }); Assert.True(comparer.Equals(expected, candidate, ".someClass")); }
public void Equals_WithSelectionModeSingle_WhenOnlyOneElementsExist_ShouldReturnMatch() { const string expected = "<p>text</p>"; const string candidate = @" <section class='one'><p>nope</p></section> <section class='two'><p>text</p></section> <section class='three'><p>fake</p></section> "; var comparer = new HtmlComparer(new HtmlCompareOptions { ElementSelectionMode = ElementSelectionMode.Single }); Assert.True(comparer.Equals(expected, candidate, ".two")); }
public void Equals_WithDefaultSelectionMode_WhenMultipleElementsExistAndFirstDoesNotMatch_ShouldReturnMismatch() { const string expected = "<p>text</p>"; const string candidate = @" <section class='someClass'><p>nope</p></section> <section class='someClass'><p>fake</p></section> "; var comparer = new HtmlComparer(new HtmlCompareOptions { ElementSelectionMode = ElementSelectionMode.First }); var result = comparer.Equals(expected, candidate, ".someClass"); AssertMismatch(result, expected, "<p>nope</p>"); }
public void Equals_WithSelectionModeAll_WhenMultipleElementsAreSelectedAndNotAllMatch_ShouldReturnMismatch() { const string expected = "<p>text</p>"; const string candidate = @" <section class='someClass'><p>text</p></section> <section class='someClass'><p>nope</p></section> <section class='someClass'><p>text</p></section> "; var comparer = new HtmlComparer(new HtmlCompareOptions { ElementSelectionMode = ElementSelectionMode.All }); var result = comparer.Equals(expected, candidate, ".someClass"); AssertMismatch(result, expected, "<p>nope</p>"); }
public void Equals_WithSelectionModeSingle_WhenMultipleElementsExist_ShouldReturnMultipleElementsFoundMismatch() { const string expected = "<p>text</p>"; const string candidate = @" <section class='someClass'><p>text</p></section> <section class='someClass'><p>nope</p></section> <section class='someClass'><p>fake</p></section> "; var comparer = new HtmlComparer(new HtmlCompareOptions { ElementSelectionMode = ElementSelectionMode.Single }); var result = comparer.Equals(expected, candidate, ".someClass"); AssertMismatch(result, reason: HtmlCompareMismatchReason.MultipleElementsFound); }