Class MultiLevelElementNameAndTextQualifier

java.lang.Object
org.custommonkey.xmlunit.examples.MultiLevelElementNameAndTextQualifier
All Implemented Interfaces:
ElementQualifier

public class MultiLevelElementNameAndTextQualifier extends Object implements ElementQualifier
Per popular request an interface implementation that uses element names and the text node containes in the n'th child node to compare elements.

This means ElementNameQualifier and MultiLevelElementNameQualifier(1) should lead to the same results.

Any attribute values are completely ignored. Only works on elements with exactly one child element at each level.

This class mostly exists as an example for custom ElementQualifiers.

  • Constructor Details

    • MultiLevelElementNameAndTextQualifier

      public MultiLevelElementNameAndTextQualifier(int levels)
      Uses element names and the text nested levels child elements deeper into the element to compare elements.

      Does not ignore empty text nodes.

      Parameters:
      levels - level of nesting to use when looking up the text
    • MultiLevelElementNameAndTextQualifier

      public MultiLevelElementNameAndTextQualifier(int levels, boolean ignoreEmptyTexts)
      Uses element names and the text nested levels child elements deeper into the element to compare elements.
      Parameters:
      levels - level of nesting to use when looking up the text
      ignoreEmptyTexts - whether whitespace-only textnodes should be ignored.
  • Method Details

    • qualifyForComparison

      public boolean qualifyForComparison(Element control, Element test)
      Description copied from interface: ElementQualifier
      Determine whether two elements are comparable
      Specified by:
      qualifyForComparison in interface ElementQualifier
      Parameters:
      control - an Element from the control XML NodeList
      test - an Element from the test XML NodeList
      Returns:
      true if the elements are comparable, false otherwise