if (expectedTypes != null) {
assertTrue("has TypeAttribute", t.hasAttribute(TypeAttribute.class));
typeAtt = t.getAttribute(TypeAttribute.class);
}
DatatypeAttribute dtypeAtt = null;
if (expectedDatatypes != null) {
assertTrue("has DatatypeAttribute", t.hasAttribute(DatatypeAttribute.class));
dtypeAtt = t.getAttribute(DatatypeAttribute.class);
}
PositionIncrementAttribute posIncrAtt = null;
if (expectedPosIncrs != null) {
assertTrue("has PositionIncrementAttribute", t.hasAttribute(PositionIncrementAttribute.class));
posIncrAtt = t.getAttribute(PositionIncrementAttribute.class);
}
NodeAttribute nodeAtt = null;
if (expectedNode != null) {
assertTrue("has NodeAttribute", t.hasAttribute(NodeAttribute.class));
nodeAtt = t.getAttribute(NodeAttribute.class);
}
t.setReader(new StringReader(input));
t.reset(); // reset the stream for the new reader
for (int i = 0; i < expectedImages.length; i++) {
assertTrue("token "+i+" exists", t.incrementToken());
assertEquals("i=" + i, expectedImages[i], termAtt.toString());
if (expectedTypes != null) {
assertEquals("i=" + i, expectedTypes[i], typeAtt.type());
}
if (expectedDatatypes != null) {
assertEquals("i=" + i, expectedDatatypes[i], dtypeAtt.datatypeURI() == null ? "" : String.valueOf(dtypeAtt.datatypeURI()));
}
if (expectedPosIncrs != null) {
assertEquals("i=" + i, expectedPosIncrs[i], posIncrAtt.getPositionIncrement());
}