Package org.xmlunit.diff
Class DifferenceEvaluators
- java.lang.Object
-
- org.xmlunit.diff.DifferenceEvaluators
-
public final class DifferenceEvaluators extends java.lang.Object
Evaluators used for the base cases.
-
-
Field Summary
Fields Modifier and Type Field Description static DifferenceEvaluator
Accept
Difference evaluator that just echos the result passed in.private static java.lang.Short
CDATA
static DifferenceEvaluator
Default
The "standard" difference evaluator which decides which differences make two XML documents really different and which still leave them similar.private static java.lang.Short
TEXT
-
Constructor Summary
Constructors Modifier Constructor Description private
DifferenceEvaluators()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static boolean
belongsToProlog(org.w3c.dom.Node n, boolean ignoreDoctypeDeclarationAsWell)
private static boolean
belongsToProlog(Comparison comparison, boolean ignoreDoctypeDeclarationAsWell)
static DifferenceEvaluator
chain(DifferenceEvaluator... evaluators)
Combines multiple DifferenceEvaluators so that the result of the first Evaluator will be passed to the next Evaluator.static DifferenceEvaluator
downgradeDifferencesToEqual(ComparisonType... types)
Creates a DifferenceEvaluator that returns a EQUAL result for differences found in one of the given ComparisonTypes.static DifferenceEvaluator
downgradeDifferencesToSimilar(ComparisonType... types)
Creates a DifferenceEvaluator that returns a SIMILAR result for differences (Comparisons that are not EQUAL) found in one of the given ComparisonTypes.static DifferenceEvaluator
first(DifferenceEvaluator... evaluators)
Combines multiple DifferenceEvaluators so that the first one that changes the outcome wins.static DifferenceEvaluator
ignorePrologDifferences()
Ignore any differences that are part of the XML prolog.static DifferenceEvaluator
ignorePrologDifferencesExceptDoctype()
Ignore any differences except differences inside the doctype declaration that are part of the XML prolog.private static boolean
isSequenceOfRootElement(Comparison comparison)
private static DifferenceEvaluator
recordDifferencesAs(ComparisonResult outcome, ComparisonType... types)
static DifferenceEvaluator
upgradeDifferencesToDifferent(ComparisonType... types)
Creates a DifferenceEvaluator that returns a DIFFERENT result for differences (Comparisons that are not EQUAL) found in one of the given ComparisonTypes.
-
-
-
Field Detail
-
CDATA
private static final java.lang.Short CDATA
-
TEXT
private static final java.lang.Short TEXT
-
Accept
public static final DifferenceEvaluator Accept
Difference evaluator that just echos the result passed in.
-
Default
public static final DifferenceEvaluator Default
The "standard" difference evaluator which decides which differences make two XML documents really different and which still leave them similar.
-
-
Method Detail
-
first
public static DifferenceEvaluator first(DifferenceEvaluator... evaluators)
Combines multiple DifferenceEvaluators so that the first one that changes the outcome wins.
-
chain
public static DifferenceEvaluator chain(DifferenceEvaluator... evaluators)
Combines multiple DifferenceEvaluators so that the result of the first Evaluator will be passed to the next Evaluator.
-
downgradeDifferencesToEqual
public static DifferenceEvaluator downgradeDifferencesToEqual(ComparisonType... types)
Creates a DifferenceEvaluator that returns a EQUAL result for differences found in one of the given ComparisonTypes.- Since:
- XMLUnit 2.1.0
-
downgradeDifferencesToSimilar
public static DifferenceEvaluator downgradeDifferencesToSimilar(ComparisonType... types)
Creates a DifferenceEvaluator that returns a SIMILAR result for differences (Comparisons that are not EQUAL) found in one of the given ComparisonTypes.- Since:
- XMLUnit 2.1.0
-
upgradeDifferencesToDifferent
public static DifferenceEvaluator upgradeDifferencesToDifferent(ComparisonType... types)
Creates a DifferenceEvaluator that returns a DIFFERENT result for differences (Comparisons that are not EQUAL) found in one of the given ComparisonTypes.- Since:
- XMLUnit 2.1.0
-
ignorePrologDifferences
public static DifferenceEvaluator ignorePrologDifferences()
Ignore any differences that are part of the XML prolog.Here "ignore" means return
ComparisonResult.EQUAL
.- Since:
- XMLUnit 2.1.0
-
ignorePrologDifferencesExceptDoctype
public static DifferenceEvaluator ignorePrologDifferencesExceptDoctype()
Ignore any differences except differences inside the doctype declaration that are part of the XML prolog.Here "ignore" means return
ComparisonResult.EQUAL
.This is one of the building blocks for mimicing the behavior of XMLUnit for Java 1.x. In order to get the same behavior you need:
chain(Default, // so CDATA and Text are the same ignorePrologDifferencesExceptDoctype()) // so most of the prolog is ignored
In general different doctype declarations will be ignored because of
NodeFilters.Default
, so if you want to detect these differences you need to pick a differentNodeFilter
.- Since:
- XMLUnit 2.1.0
-
recordDifferencesAs
private static DifferenceEvaluator recordDifferencesAs(ComparisonResult outcome, ComparisonType... types)
-
belongsToProlog
private static boolean belongsToProlog(Comparison comparison, boolean ignoreDoctypeDeclarationAsWell)
-
belongsToProlog
private static boolean belongsToProlog(org.w3c.dom.Node n, boolean ignoreDoctypeDeclarationAsWell)
-
isSequenceOfRootElement
private static boolean isSequenceOfRootElement(Comparison comparison)
-
-