Class XMLAssert

java.lang.Object
junit.framework.Assert
org.custommonkey.xmlunit.XMLAssert
All Implemented Interfaces:
XMLConstants, XSLTConstants

public class XMLAssert extends junit.framework.Assert implements XSLTConstants
Collection of static methods so that XML assertion facilities are available in any class, not just test suites. Thanks to Andrew McCormick and others for suggesting this refactoring.
Available assertion methods are:
  • assertXMLEqual
    assert that two pieces of XML markup are similar
  • assertXMLNotEqual
    assert that two pieces of XML markup are different
  • assertXMLIdentical
    assert that two pieces of XML markup are identical. In most cases this assertion is too strong and assertXMLEqual is sufficient
  • assertXpathExists
    assert that an XPath expression matches at least one node
  • assertXpathNotExists
    assert that an XPath expression does not match any nodes
  • assertXpathsEqual
    assert that the nodes obtained by executing two Xpaths are similar
  • assertXpathsNotEqual
    assert that the nodes obtained by executing two Xpaths are different
  • assertXpathValuesEqual
    assert that the flattened String obtained by executing two Xpaths are similar
  • assertXpathValuesNotEqual
    assert that the flattened String obtained by executing two Xpaths are different
  • assertXpathEvaluatesTo
    assert that the flattened String obtained by executing an Xpath is a particular value
  • assertXMLValid
    assert that a piece of XML markup is valid with respect to a DTD: either by using the markup's own DTD or a different DTD
  • assertNodeTestPasses
    assert that a piece of XML markup passes a NodeTest
All underlying similarity and difference testing is done using Diff instances which can be instantiated and evaluated independently of this class.
See Also:
  • Constructor Details

    • XMLAssert

      protected XMLAssert()
      Empty constructor.
  • Method Details

    • assertXMLEqual

      public static void assertXMLEqual(Diff diff, boolean assertion)
      Assert that the result of an XML comparison is or is not similar.
      Parameters:
      diff - the result of an XML comparison
      assertion - true if asserting that result is similar
    • assertXMLEqual

      public static void assertXMLEqual(String msg, Diff diff, boolean assertion)
      Assert that the result of an XML comparison is or is not similar.
      Parameters:
      msg - additional message to display if assertion fails
      diff - the result of an XML comparison
      assertion - true if asserting that result is similar
    • assertXMLIdentical

      public static void assertXMLIdentical(Diff diff, boolean assertion)
      Assert that the result of an XML comparison is or is not identical
      Parameters:
      diff - the result of an XML comparison
      assertion - true if asserting that result is identical
    • assertXMLIdentical

      public static void assertXMLIdentical(String msg, Diff diff, boolean assertion)
      Assert that the result of an XML comparison is or is not identical
      Parameters:
      msg - Message to display if assertion fails
      diff - the result of an XML comparison
      assertion - true if asserting that result is identical
    • assertXMLEqual

      public static void assertXMLEqual(InputSource control, InputSource test) throws SAXException, IOException
      Assert that two XML documents are similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLEqual

      public static void assertXMLEqual(String control, String test) throws SAXException, IOException
      Assert that two XML documents are similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLEqual

      public static void assertXMLEqual(Document control, Document test)
      Assert that two XML documents are similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
    • assertXMLEqual

      public static void assertXMLEqual(Reader control, Reader test) throws SAXException, IOException
      Assert that two XML documents are similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLEqual

      public static void assertXMLEqual(String err, InputSource control, InputSource test) throws SAXException, IOException
      Assert that two XML documents are similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLEqual

      public static void assertXMLEqual(String err, String control, String test) throws SAXException, IOException
      Assert that two XML documents are similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLEqual

      public static void assertXMLEqual(String err, Document control, Document test)
      Assert that two XML documents are similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
    • assertXMLEqual

      public static void assertXMLEqual(String err, Reader control, Reader test) throws SAXException, IOException
      Assert that two XML documents are similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLNotEqual

      public static void assertXMLNotEqual(InputSource control, InputSource test) throws SAXException, IOException
      Assert that two XML documents are NOT similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLNotEqual

      public static void assertXMLNotEqual(String control, String test) throws SAXException, IOException
      Assert that two XML documents are NOT similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLNotEqual

      public static void assertXMLNotEqual(Document control, Document test)
      Assert that two XML documents are NOT similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
    • assertXMLNotEqual

      public static void assertXMLNotEqual(Reader control, Reader test) throws SAXException, IOException
      Assert that two XML documents are NOT similar
      Parameters:
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLNotEqual

      public static void assertXMLNotEqual(String err, InputSource control, InputSource test) throws SAXException, IOException
      Assert that two XML documents are NOT similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLNotEqual

      public static void assertXMLNotEqual(String err, String control, String test) throws SAXException, IOException
      Assert that two XML documents are NOT similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXMLNotEqual

      public static void assertXMLNotEqual(String err, Document control, Document test)
      Assert that two XML documents are NOT similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
    • assertXMLNotEqual

      public static void assertXMLNotEqual(String err, Reader control, Reader test) throws SAXException, IOException
      Assert that two XML documents are NOT similar
      Parameters:
      err - Message to be displayed on assertion failure
      control - XML to be compared against
      test - XML to be tested
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
    • assertXpathsEqual

      public static void assertXpathsEqual(String controlXpath, String testXpath, Document document) throws XpathException
      Assert that the node lists of two Xpaths in the same document are equal
      Parameters:
      controlXpath - XPath for expected value
      testXpath - XPath for actual value
      document - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathsEqual

      public static void assertXpathsEqual(String controlXpath, String testXpath, InputSource document) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in the same document are equal
      Parameters:
      controlXpath - XPath for expected value
      testXpath - XPath for actual value
      document - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsEqual

      public static void assertXpathsEqual(String controlXpath, String testXpath, String inXMLString) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in the same XML string are equal
      Parameters:
      controlXpath - XPath for expected value
      testXpath - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsEqual

      public static void assertXpathsEqual(String controlXpath, InputSource controlDocument, String testXpath, InputSource testDocument) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in two documents are equal
      Parameters:
      controlXpath - XPath for expected value
      controlDocument - document for expected value
      testXpath - XPath for actual value
      testDocument - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsEqual

      public static void assertXpathsEqual(String controlXpath, String inControlXMLString, String testXpath, String inTestXMLString) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in two XML strings are equal
      Parameters:
      controlXpath - XPath for expected value
      inControlXMLString - document for expected value
      testXpath - XPath for actual value
      inTestXMLString - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsEqual

      public static void assertXpathsEqual(String controlXpath, Document controlDocument, String testXpath, Document testDocument) throws XpathException
      Assert that the node lists of two Xpaths in two documents are equal
      Parameters:
      controlXpath - XPath for expected value
      controlDocument - document for expected value
      testXpath - XPath for actual value
      testDocument - document for actual value
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathsNotEqual

      public static void assertXpathsNotEqual(String controlXpath, String testXpath, Document document) throws XpathException
      Assert that the node lists of two Xpaths in the same document are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      testXpath - XPath for actual value
      document - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathsNotEqual

      public static void assertXpathsNotEqual(String controlXpath, String testXpath, InputSource document) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in the same document are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      testXpath - XPath for actual value
      document - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsNotEqual

      public static void assertXpathsNotEqual(String controlXpath, String testXpath, String inXMLString) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in the same XML string are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      testXpath - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsNotEqual

      public static void assertXpathsNotEqual(String controlXpath, String inControlXMLString, String testXpath, String inTestXMLString) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in two XML strings are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      inControlXMLString - document for not-expected value
      testXpath - XPath for actual value
      inTestXMLString - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsNotEqual

      public static void assertXpathsNotEqual(String controlXpath, InputSource controlDocument, String testXpath, InputSource testDocument) throws SAXException, IOException, XpathException
      Assert that the node lists of two Xpaths in two XML strings are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      controlDocument - document for not-expected value
      testXpath - XPath for actual value
      testDocument - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathsNotEqual

      public static void assertXpathsNotEqual(String controlXpath, Document controlDocument, String testXpath, Document testDocument) throws XpathException
      Assert that the node lists of two Xpaths in two documents are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      controlDocument - document for not-expected value
      testXpath - XPath for actual value
      testDocument - document for actual value
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathValuesEqual

      public static void assertXpathValuesEqual(String controlXpath, String testXpath, Document document) throws XpathException
      Assert that the evaluation of two Xpaths in the same document are equal
      Parameters:
      controlXpath - XPath for expected value
      testXpath - XPath for actual value
      document - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathValuesEqual

      public static void assertXpathValuesEqual(String controlXpath, String testXpath, InputSource document) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in the same XML string are equal
      Parameters:
      controlXpath - XPath for expected value
      testXpath - XPath for actual value
      document - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesEqual

      public static void assertXpathValuesEqual(String controlXpath, String testXpath, String inXMLString) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in the same XML string are equal
      Parameters:
      controlXpath - XPath for expected value
      testXpath - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesEqual

      public static void assertXpathValuesEqual(String controlXpath, InputSource control, String testXpath, InputSource test) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in two XML strings are equal
      Parameters:
      controlXpath - XPath for expected value
      control - document for expected value
      testXpath - XPath for actual value
      test - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesEqual

      public static void assertXpathValuesEqual(String controlXpath, String inControlXMLString, String testXpath, String inTestXMLString) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in two XML strings are equal
      Parameters:
      controlXpath - XPath for expected value
      inControlXMLString - document for expected value
      testXpath - XPath for actual value
      inTestXMLString - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesEqual

      public static void assertXpathValuesEqual(String controlXpath, Document controlDocument, String testXpath, Document testDocument) throws XpathException
      Assert that the evaluation of two Xpaths in two documents are equal
      Parameters:
      controlXpath - XPath for expected value
      controlDocument - document for expected value
      testXpath - XPath for actual value
      testDocument - document for actual value
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathValuesNotEqual

      public static void assertXpathValuesNotEqual(String controlXpath, String testXpath, InputSource control) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in the same XML string are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      control - document to apply XPaths to
      testXpath - XPath for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesNotEqual

      public static void assertXpathValuesNotEqual(String controlXpath, String testXpath, String inXMLString) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in the same XML string are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      inXMLString - document to apply XPaths to
      testXpath - XPath for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesNotEqual

      public static void assertXpathValuesNotEqual(String controlXpath, String testXpath, Document document) throws XpathException
      Assert that the evaluation of two Xpaths in the same document are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      document - document to apply XPaths to
      testXpath - XPath for actual value
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathValuesNotEqual

      public static void assertXpathValuesNotEqual(String controlXpath, InputSource control, String testXpath, InputSource test) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in two XML strings are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      control - document for not-expected value
      testXpath - XPath for actual value
      test - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesNotEqual

      public static void assertXpathValuesNotEqual(String controlXpath, String inControlXMLString, String testXpath, String inTestXMLString) throws SAXException, IOException, XpathException
      Assert that the evaluation of two Xpaths in two XML strings are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      inControlXMLString - document for not-expected value
      testXpath - XPath for actual value
      inTestXMLString - document for actual value
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathValuesNotEqual

      public static void assertXpathValuesNotEqual(String controlXpath, Document controlDocument, String testXpath, Document testDocument) throws XpathException
      Assert that the evaluation of two Xpaths in two documents are NOT equal
      Parameters:
      controlXpath - XPath for not-expected value
      controlDocument - document for not-expected value
      testXpath - XPath for actual value
      testDocument - document for actual value
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathEvaluatesTo

      public static void assertXpathEvaluatesTo(String expectedValue, String xpathExpression, InputSource control) throws SAXException, IOException, XpathException
      Assert the value of an Xpath expression in an XML document.
      Parameters:
      expectedValue - the expected value
      xpathExpression - XPath for actual value
      control - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathEvaluatesTo

      public static void assertXpathEvaluatesTo(String expectedValue, String xpathExpression, String inXMLString) throws SAXException, IOException, XpathException
      Assert the value of an Xpath expression in an XML String
      Parameters:
      expectedValue - the expected value
      xpathExpression - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathEvaluatesTo

      public static void assertXpathEvaluatesTo(String expectedValue, String xpathExpression, Document inDocument) throws XpathException
      Assert the value of an Xpath expression in an DOM Document
      Parameters:
      expectedValue - the expected value
      xpathExpression - XPath for actual value
      inDocument - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathEvaluatesTo

      public static void assertXpathEvaluatesTo(QualifiedName expectedValue, String xpathExpression, InputSource control) throws SAXException, IOException, XpathException
      Assert the value of an Xpath expression in an XML document.
      Parameters:
      expectedValue - the expected value
      xpathExpression - XPath for actual value
      control - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathEvaluatesTo

      public static void assertXpathEvaluatesTo(QualifiedName expectedValue, String xpathExpression, String inXMLString) throws SAXException, IOException, XpathException
      Assert the value of an Xpath expression in an XML String
      Parameters:
      expectedValue - the expected value
      xpathExpression - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathEvaluatesTo

      public static void assertXpathEvaluatesTo(QualifiedName expectedValue, String xpathExpression, Document inDocument) throws XpathException
      Assert the value of an Xpath expression in an DOM Document
      Parameters:
      expectedValue - the expected value
      xpathExpression - XPath for actual value
      inDocument - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathExists

      public static void assertXpathExists(String xPathExpression, InputSource control) throws IOException, SAXException, XpathException
      Assert that a specific XPath exists in some given XML
      Parameters:
      xPathExpression - XPath for actual value
      control - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathExists

      public static void assertXpathExists(String xPathExpression, String inXMLString) throws IOException, SAXException, XpathException
      Assert that a specific XPath exists in some given XML
      Parameters:
      xPathExpression - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathExists

      public static void assertXpathExists(String xPathExpression, Document inDocument) throws XpathException
      Assert that a specific XPath exists in some given XML
      Parameters:
      xPathExpression - XPath for actual value
      inDocument - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXpathNotExists

      public static void assertXpathNotExists(String xPathExpression, InputSource control) throws IOException, SAXException, XpathException
      Assert that a specific XPath does NOT exist in some given XML
      Parameters:
      xPathExpression - XPath for actual value
      control - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathNotExists

      public static void assertXpathNotExists(String xPathExpression, String inXMLString) throws IOException, SAXException, XpathException
      Assert that a specific XPath does NOT exist in some given XML
      Parameters:
      xPathExpression - XPath for actual value
      inXMLString - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertXpathNotExists

      public static void assertXpathNotExists(String xPathExpression, Document inDocument) throws XpathException
      Assert that a specific XPath does NOT exist in some given XML
      Parameters:
      xPathExpression - XPath for actual value
      inDocument - document to apply XPaths to
      Throws:
      XpathException - if XPath construction fails
      See Also:
    • assertXMLValid

      public static void assertXMLValid(InputSource xml) throws SAXException, ConfigurationException
      Assert that an InputSource containing XML contains valid XML: the document must contain a DOCTYPE declaration to be validated
      Parameters:
      xml - the document to validate
      Throws:
      SAXException - if the parser says so
      ConfigurationException - if validation could not be turned on
      See Also:
    • assertXMLValid

      public static void assertXMLValid(String xmlString) throws SAXException, ConfigurationException
      Assert that a String containing XML contains valid XML: the String must contain a DOCTYPE declaration to be validated
      Parameters:
      xmlString - the document to validate
      Throws:
      SAXException - if the parser says so
      ConfigurationException - if validation could not be turned on
      See Also:
    • assertXMLValid

      public static void assertXMLValid(InputSource xml, String systemId) throws SAXException, ConfigurationException
      Assert that an InputSource containing XML contains valid XML: the document must contain a DOCTYPE to be validated, but the validation will use the systemId to obtain the DTD
      Parameters:
      xml - the document to validate
      systemId - used to obtain the DTD
      Throws:
      SAXException - if the parser says so
      ConfigurationException - if validation could not be turned on
      See Also:
    • assertXMLValid

      public static void assertXMLValid(String xmlString, String systemId) throws SAXException, ConfigurationException
      Assert that a String containing XML contains valid XML: the String must contain a DOCTYPE to be validated, but the validation will use the systemId to obtain the DTD
      Parameters:
      xmlString - the document to validate
      systemId - used to obtain the DTD
      Throws:
      SAXException - if the parser says so
      ConfigurationException - if validation could not be turned on
      See Also:
    • assertXMLValid

      public static void assertXMLValid(InputSource xml, String systemId, String doctype) throws SAXException, ConfigurationException
      Assert that a piece of XML contains valid XML: the document will be given a DOCTYPE to be validated with the name and systemId specified regardless of whether it already contains a doctype declaration.
      Parameters:
      xml - the document to validate
      systemId - used to obtain the DTD
      doctype - DOCTYPE to use during validation
      Throws:
      SAXException - if the parser says so
      ConfigurationException - if validation could not be turned on
      See Also:
    • assertXMLValid

      public static void assertXMLValid(String xmlString, String systemId, String doctype) throws SAXException, ConfigurationException
      Assert that a String containing XML contains valid XML: the String will be given a DOCTYPE to be validated with the name and systemId specified regardless of whether it already contains a doctype declaration.
      Parameters:
      xmlString - the document to validate
      systemId - used to obtain the DTD
      doctype - DOCTYPE to use during validation
      Throws:
      SAXException - if the parser says so
      ConfigurationException - if validation could not be turned on
      See Also:
    • assertXMLValid

      public static void assertXMLValid(Validator validator)
      Assert that a Validator instance returns isValid() == true
      Parameters:
      validator - validator to check
    • assertNodeTestPasses

      public static void assertNodeTestPasses(InputSource xml, NodeTester tester, short nodeType) throws SAXException, IOException
      Execute a NodeTest for a single node type and assert that it passes
      Parameters:
      xml - the document to validate
      tester - The test strategy
      nodeType - The node type to be tested: constants defined in org.w3c.dom.Node e.g. Node.ELEMENT_NODE
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertNodeTestPasses

      public static void assertNodeTestPasses(String xmlString, NodeTester tester, short nodeType) throws SAXException, IOException
      Execute a NodeTest for a single node type and assert that it passes
      Parameters:
      xmlString - XML to be tested
      tester - The test strategy
      nodeType - The node type to be tested: constants defined in org.w3c.dom.Node e.g. Node.ELEMENT_NODE
      Throws:
      SAXException - if the parser says so
      IOException - on I/O errors
      See Also:
    • assertNodeTestPasses

      public static void assertNodeTestPasses(NodeTest test, NodeTester tester, short[] nodeTypes, boolean assertion)
      Execute a NodeTest for multiple node types and make an assertion about it whether it is expected to pass
      Parameters:
      test - a NodeTest instance containing the XML source to be tested
      tester - The test strategy
      nodeTypes - The node types to be tested: constants defined in org.w3c.dom.Node e.g. Node.ELEMENT_NODE
      assertion - true if the test is expected to pass, false otherwise
      See Also: