Class DifferenceEvaluators

java.lang.Object
org.xmlunit.diff.DifferenceEvaluators

public final class DifferenceEvaluators extends Object
Evaluators used for the base cases.
  • Field Details

    • CDATA

      private static final Short CDATA
    • TEXT

      private static final 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.
  • Constructor Details

    • DifferenceEvaluators

      private DifferenceEvaluators()
  • Method Details

    • 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

      invalid reference
      NodeFilters.Default
      , so if you want to detect these differences you need to pick a different NodeFilter.

      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(Node n, boolean ignoreDoctypeDeclarationAsWell)
    • isSequenceOfRootElement

      private static boolean isSequenceOfRootElement(Comparison comparison)