public class XMLStreamReaderComparator
extends junit.framework.Assert
XMLStreamReader objects.
Note that this class is not meant to be used to compare two XML documents (the error
reporting would not be clear enough for that purpose), but to validate implementations
of the XMLStreamReader interface. It uses a brute force approach: for each event,
all methods (that don't modify the reader state) are called on both readers and the results
(return values or exceptions thrown) of these invocations are compared to each other.| Modifier and Type | Field and Description |
|---|---|
private javax.xml.stream.XMLStreamReader |
actual |
private boolean |
compareCharacterEncodingScheme |
private boolean |
compareEncoding |
private boolean |
compareEntityReplacementValue |
private javax.xml.stream.XMLStreamReader |
expected |
private java.util.Set |
namespaceURIs
Set collecting all namespace URIs seen in the document to be able to
test
NamespaceContext.getPrefix(String). |
private java.util.LinkedList |
path |
private java.util.Set |
prefixes
Set collecting all prefixes seen in the document to be able to test
XMLStreamReader.getNamespaceURI(String). |
| Constructor and Description |
|---|
XMLStreamReaderComparator(javax.xml.stream.XMLStreamReader expected,
javax.xml.stream.XMLStreamReader actual) |
| Modifier and Type | Method and Description |
|---|---|
void |
addPrefix(java.lang.String prefix)
Add a prefix that should be used in testing the
XMLStreamReader.getNamespaceURI(String) method. |
private java.lang.Object |
assertSameResult(java.lang.String methodName) |
private java.lang.Object |
assertSameResult(java.lang.String methodName,
java.lang.Class[] paramTypes,
java.lang.Object[] args) |
private java.lang.Object |
assertSameResult(java.lang.String methodName,
java.lang.Class[] paramTypes,
java.lang.Object[] args,
Normalizer normalizer) |
private java.lang.Object |
assertSameResult(java.lang.String methodName,
Normalizer normalizer) |
void |
compare() |
private void |
compareNamespaceContexts(javax.xml.namespace.NamespaceContext expected,
javax.xml.namespace.NamespaceContext actual) |
private java.lang.String |
getLocation() |
private java.lang.Object[] |
invoke(java.lang.String methodName) |
private java.lang.Object[] |
invoke(java.lang.String methodName,
java.lang.Class[] paramTypes,
java.lang.Object[] args) |
void |
setCompareCharacterEncodingScheme(boolean value) |
void |
setCompareEncoding(boolean value) |
void |
setCompareEntityReplacementValue(boolean value)
Specify whether the replacement value for entity references (as reported by
XMLStreamReader.getText()) should be compared. |
private java.util.Set |
toPrefixSet(java.util.Iterator it) |
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, formatprivate final javax.xml.stream.XMLStreamReader expected
private final javax.xml.stream.XMLStreamReader actual
private boolean compareEntityReplacementValue
private boolean compareCharacterEncodingScheme
private boolean compareEncoding
private final java.util.LinkedList path
private final java.util.Set prefixes
XMLStreamReader.getNamespaceURI(String).private final java.util.Set namespaceURIs
NamespaceContext.getPrefix(String).public XMLStreamReaderComparator(javax.xml.stream.XMLStreamReader expected,
javax.xml.stream.XMLStreamReader actual)
private java.lang.String getLocation()
private java.lang.Object[] invoke(java.lang.String methodName,
java.lang.Class[] paramTypes,
java.lang.Object[] args)
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.Object[] invoke(java.lang.String methodName)
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.Object assertSameResult(java.lang.String methodName,
java.lang.Class[] paramTypes,
java.lang.Object[] args,
Normalizer normalizer)
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.Object assertSameResult(java.lang.String methodName,
java.lang.Class[] paramTypes,
java.lang.Object[] args)
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.Object assertSameResult(java.lang.String methodName,
Normalizer normalizer)
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.Object assertSameResult(java.lang.String methodName)
throws java.lang.Exception
java.lang.Exceptionprivate java.util.Set toPrefixSet(java.util.Iterator it)
private void compareNamespaceContexts(javax.xml.namespace.NamespaceContext expected,
javax.xml.namespace.NamespaceContext actual)
public void addPrefix(java.lang.String prefix)
XMLStreamReader.getNamespaceURI(String) method.prefix - the prefix to addpublic void setCompareEntityReplacementValue(boolean value)
XMLStreamReader.getText()) should be compared. The default value for this option is
true.value - true if the replacement value should be compared; false
if replacement values for entity references are ignoredpublic void setCompareCharacterEncodingScheme(boolean value)
public void setCompareEncoding(boolean value)
public void compare()
throws java.lang.Exception
java.lang.Exception