Class CompareAssert
- All Implemented Interfaces:
org.assertj.core.api.Assert<CompareAssert,,Object> org.assertj.core.api.Descriptable<CompareAssert>,org.assertj.core.api.ExtensionPoints<CompareAssert,,Object> DifferenceEngineConfigurer<CompareAssert>
Simple Example
import static org.xmlunit.assertj.XmlAssert.assertThat; final String control = "<a><b attr=\"abc\"></b></a>"; final String test = "<a><b attr=\"xyz\"NodeAssertFactory></b></a>"; assertThat(test).and(control).areIdentical(); assertThat(test).and(control).areNotSimilar();
- Since:
- XMLUnit 2.8.1
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate ComparisonControllerprivate final DiffBuilderprivate static final Stringprivate ComparisonFormatterprivate booleanprivate static final DifferenceEvaluatorFields inherited from class org.assertj.core.api.AbstractAssert
actual, info, myself, objects, throwUnsupportedExceptionOnEquals -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCheck if actual and control XMLs are identical.Check if actual and control XMLs are not identical.Check if actual and control XMLs are not similar.Check if actual and control XMLs are similar.private voidcompare(CompareAssert.ComparisonContext context) (package private) static CompareAssertcreate(Object actual, Object control, XmlAssertConfig config) private voidfailComparison(String type, String controlSystemId, String testSystemId, Comparison difference, ComparisonFormatter formatter, boolean formatXml) Equivalent forignoreCommentsUsingXSLTVersion(String xsltVersion) withAttributeFilter(Predicate<Attr> attributeFilter) Registers a filter for attributes.withComparisonController(ComparisonController comparisonController) Replace thewith your own ComparisonController.invalid reference
ComparisonControllers#DefaultwithComparisonFormatter(ComparisonFormatter formatter) Sets a non-default formatter for the differences found.withComparisonListeners(ComparisonListener... comparisonListeners) Registers listeners that are notified of each comparison.withDifferenceEvaluator(DifferenceEvaluator differenceEvaluator) Provide your own customDifferenceEvaluatorimplementation.withDifferenceListeners(ComparisonListener... comparisonListeners) Registers listeners that are notified of each comparison with outcome other than.invalid reference
ComparisonResult#EQUALwithNamespaceContext(Map<String, String> prefix2Uri) Establish a namespace context that will be used inComparison.Detail#getXPath.withNodeFilter(Predicate<Node> nodeFilter) Registers a filter for nodes.withNodeMatcher(NodeMatcher nodeMatcher) Sets the strategy for selecting nodes to compare.Methods inherited from class org.xmlunit.assertj3.CustomAbstractAssert
isElementOfCustomAssertMethods inherited from class org.assertj.core.api.AbstractAssert
areEqual, asInstanceOf, asList, assertionError, asString, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, doesNotHaveSameHashCodeAs, doesNotHaveToString, equals, extracting, extracting, failure, failureWithActualExpected, failWithActualExpectedAndMessage, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasSameHashCodeAs, hasToString, inBinary, inHexadecimal, is, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, newListAssertInstance, overridingErrorMessage, overridingErrorMessage, satisfies, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, satisfiesAnyOfForProxy, satisfiesForProxy, setCustomRepresentation, setDescriptionConsumer, setPrintAssertionsDescription, throwAssertionError, usingComparator, usingComparator, usingDefaultComparator, usingRecursiveAssertion, usingRecursiveAssertion, usingRecursiveComparison, usingRecursiveComparison, withFailMessage, withFailMessage, withRepresentation, withThreadDumpOnErrorMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.assertj.core.api.Descriptable
as, as, as, describedAs
-
Field Details
-
EXPECTING_NOT_NULL
- See Also:
-
IgnoreNodeListSequence
-
diffBuilder
-
customComparisonController
-
formatXml
private boolean formatXml -
formatter
-
COMPARISON_FAILURE_PATTERN
- See Also:
-
-
Constructor Details
-
CompareAssert
-
-
Method Details
-
create
-
withNodeMatcher
Sets the strategy for selecting nodes to compare.Example with
DefaultNodeMatcher:.withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText))
This overwrites any
NodeMatcherset via earlier invocations ofwithNodeMatcher.- Specified by:
withNodeMatcherin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withDifferenceEvaluator
Provide your own customDifferenceEvaluatorimplementation.This overwrites the Default DifferenceEvaluator.
If you want use your custom DifferenceEvaluator in combination with the default or another DifferenceEvaluator you should use
orinvalid reference
DifferenceEvaluators#chain(DifferenceEvaluator...)to combine them:invalid reference
DifferenceEvaluators#first(DifferenceEvaluator...).withDifferenceEvaluator( DifferenceEvaluators.chain( DifferenceEvaluators.Default, new MyCustomDifferenceEvaluator())) ....This overwrites any
DifferenceEvaluatorset via earlier invocations ofwithDifferenceEvaluator.- Specified by:
withDifferenceEvaluatorin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withComparisonController
Replace thewith your own ComparisonController.invalid reference
ComparisonControllers#DefaultExample use:
.withComparisonController(ComparisonControllers.StopWhenDifferent)This overwrites any
ComparisonControllerset via earlier invocations ofwithComparisonController.- Specified by:
withComparisonControllerin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withComparisonListeners
Registers listeners that are notified of each comparison.- Specified by:
withComparisonListenersin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withDifferenceListeners
Registers listeners that are notified of each comparison with outcome other than.invalid reference
ComparisonResult#EQUALThis overwrites any
ComparisonListeners set via earlier invocations ofwithDifferenceListeners.- Specified by:
withDifferenceListenersin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withNamespaceContext
Establish a namespace context that will be used inComparison.Detail#getXPath.Without a namespace context (or with an empty context) the XPath expressions will only use local names for elements and attributes.
This overwrites any
Mapset via earlier invocations ofwithNamespaceContext.- Specified by:
withNamespaceContextin interfaceDifferenceEngineConfigurer<CompareAssert>- Parameters:
prefix2Uri- mapping between prefix and namespace URI- See Also:
-
withAttributeFilter
Registers a filter for attributes.Only attributes for which the predicate returns true are part of the comparison. By default all attributes are considered.
The "special" namespace, namespace-location and schema-instance-type attributes can not be ignored this way. If you want to suppress comparison of them you'll need to implement
DifferenceEvaluator.This overwrites any
Predicateset via earlier invocations ofwithAttributeFilter.- Specified by:
withAttributeFilterin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withNodeFilter
Registers a filter for nodes.Only nodes for which the predicate returns true are part of the comparison. By default nodes that are not document types are considered.
This overwrites any
Predicateset via earlier invocations ofwithNodeFilter.- Specified by:
withNodeFilterin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withComparisonFormatter
Sets a non-default formatter for the differences found.This overwrites any
ComparisonFormatterset via earlier invocations ofwithComparisonFormatter.- Specified by:
withComparisonFormatterin interfaceDifferenceEngineConfigurer<CompareAssert>- See Also:
-
withDocumentBuilderFactory
- See Also:
-
ignoreWhitespace
- See Also:
-
normalizeWhitespace
- See Also:
-
ignoreElementContentWhitespace
- See Also:
-
ignoreComments
- See Also:
-
ignoreCommentsUsingXSLTVersion
- See Also:
-
ignoreChildNodesOrder
Equivalent for.withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText)) .withDifferenceEvaluator( chain( Default, DifferenceEvaluators.downgradeDifferencesToEqual(ComparisonType.CHILD_NODELIST_SEQUENCE)));- See Also:
-
areIdentical
Check if actual and control XMLs are identical. If custom comparison controller wasn't defined thenComparisonControllers.StopWhenSimilaris used.- Throws:
AssertionError- if the test value is invalidAssertionError- if the control value is invalid- See Also:
-
areNotIdentical
Check if actual and control XMLs are not identical. If custom comparison controller wasn't defined thenComparisonControllers.StopWhenSimilaris used.- Throws:
AssertionError- if the test value is invalidAssertionError- if the control value is invalid- See Also:
-
areSimilar
Check if actual and control XMLs are similar. If custom comparison controller wasn't defined thenComparisonControllers.StopWhenDifferentis used.- Throws:
AssertionError- if the test value is invalidAssertionError- if the control value is invalid- See Also:
-
areNotSimilar
Check if actual and control XMLs are not similar. If custom comparison controller wasn't defined thenComparisonControllers.StopWhenDifferentis used.- Throws:
AssertionError- if the test value is invalidAssertionError- if the control value is invalid- See Also:
-
compare
-
failComparison
private void failComparison(String type, String controlSystemId, String testSystemId, Comparison difference, ComparisonFormatter formatter, boolean formatXml)
-