// Read in node type def from test file
Reader reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream(TEST_FILE));
CompactNodeTypeDefReader<QNodeTypeDefinition, NamespaceMapping> cndReader =
new CompactNodeTypeDefReader<QNodeTypeDefinition, NamespaceMapping>(
reader, TEST_FILE, new QItemDefinitionsBuilder());
List<QNodeTypeDefinition> ntdList1 = cndReader.getNodeTypeDefinitions();
NamespaceMapping nsm = cndReader.getNamespaceMapping();
NamePathResolver resolver = new DefaultNamePathResolver(nsm);
// Put imported node type def back into CND form with CND writer
StringWriter sw = new StringWriter();
CompactNodeTypeDefWriter.write(ntdList1, nsm, resolver, sw);
// Rerun the reader on the product of the writer
cndReader = new CompactNodeTypeDefReader<QNodeTypeDefinition, NamespaceMapping>(
new StringReader(sw.toString()), TEST_FILE, new QItemDefinitionsBuilder());
List<QNodeTypeDefinition> ntdList2 = cndReader.getNodeTypeDefinitions();
if (ntdList1.size() == 0 || ntdList1.size() != ntdList2.size()) {
fail("Exported node type definition was not successfully read back in");