Iterator<Tag> iterator = sourceTags.iterator();
for (Tag expectedTag : expectedTags) {
Tag sourceTag = iterator.next();
if (!expectedTag.getName().equals(sourceTag.getName())) {
throw new ComparisonFailure("Tags not equal: ",
expectedTag.getName().toString(),
sourceTag.getName().toString());
}
for (Map.Entry<QName, String> attr : expectedTag.getAttributes().entrySet()) {
if (ignoreAttr.contains(attr.getKey().getLocalPart())) {
continue;
}
if (sourceTag.getAttributes().containsKey(attr.getKey())) {
if (!sourceTag.getAttributes().get(attr.getKey()).equals(attr.getValue())) {
throw new ComparisonFailure("Attributes not equal: ",
attr.getKey() + ":" + attr.getValue(),
attr.getKey() + ":"
+ sourceTag.getAttributes().get(attr.getKey()).toString());
}
} else {
throw new AssertionError("Attribute: " + attr + " is missing in the source file.");
}
}
if (!StringUtils.isEmpty(expectedTag.getText())
&& !expectedTag.getText().equals(sourceTag.getText())) {
throw new ComparisonFailure("Text not equal: ",
expectedTag.getText().toString(),
sourceTag.getText().toString());
}
}
return true;