Added test cases for each .proto file to ensure
[controller.git] / opendaylight / md-sal / sal-protocolbuffer-encoding / src / test / java / org / opendaylight / controller / cluster / datastore / util / NormalizedNodeXmlConverterTest.java
index fb28704952ac2d6b93a613bf9e4f73dcce011034..853b3e264bdc9b4b58eed7e1ca95363eaa64e6be 100644 (file)
@@ -1,9 +1,11 @@
 /*
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
  *
- * This program and the accompanying materials are made available under the terms of the Eclipse
- * Public License v1.0 which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+ *  Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ *  This program and the accompanying materials are made available under the
+ *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ *  and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
  */
 package org.opendaylight.controller.cluster.datastore.util;
 
@@ -71,8 +73,8 @@ import java.util.Set;
 
 
 /**
- * Two of the testcases in the yangtools/yang-data-impl are leveraged (with  modification) to
- * create the serialization of NormalizedNode using the ProtocolBuffer
+ * Two of the testcases in the yangtools/yang-data-impl are leveraged (with modification) to create
+ * the serialization of NormalizedNode using the ProtocolBuffer
  *
  * @syedbahm
  *
@@ -80,403 +82,402 @@ import java.util.Set;
 
 
 public class NormalizedNodeXmlConverterTest {
-    private static final Logger logger = LoggerFactory
-        .getLogger(NormalizedNodeXmlConverterTest.class);
-    public static final String NAMESPACE =
-        "urn:opendaylight:params:xml:ns:yang:controller:test";
-    private static Date revision;
-    private ContainerNode expectedNode;
-    private ContainerSchemaNode containerNode;
-    private String xmlPath;
-
-    static {
-        try {
-            revision = new SimpleDateFormat("yyyy-MM-dd").parse("2014-03-13");
-        } catch (ParseException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    public static DataSchemaNode getSchemaNode(final SchemaContext context,
-        final String moduleName, final String childNodeName) {
-        for (Module module : context.getModules()) {
-            if (module.getName().equals(moduleName)) {
-                DataSchemaNode found =
-                    findChildNode(module.getChildNodes(), childNodeName);
-                Preconditions.checkState(found != null, "Unable to find %s",
-                    childNodeName);
-                return found;
-            }
-        }
-        throw new IllegalStateException("Unable to find child node "
-            + childNodeName);
+  private static final Logger logger = LoggerFactory
+      .getLogger(NormalizedNodeXmlConverterTest.class);
+  public static final String NAMESPACE =
+      "urn:opendaylight:params:xml:ns:yang:controller:test";
+  private static Date revision;
+  private ContainerNode expectedNode;
+  private ContainerSchemaNode containerNode;
+  private String xmlPath;
+
+  static {
+    try {
+      revision = new SimpleDateFormat("yyyy-MM-dd").parse("2014-03-13");
+    } catch (ParseException e) {
+      throw new RuntimeException(e);
     }
-
-    static DataSchemaNode findChildNode(final Collection<DataSchemaNode> children, final String name) {
-        List<DataNodeContainer> containers = Lists.newArrayList();
-
-        for (DataSchemaNode dataSchemaNode : children) {
-            if (dataSchemaNode.getQName().getLocalName().equals(name)) {
-                return dataSchemaNode;
-            }
-            if (dataSchemaNode instanceof DataNodeContainer) {
-                containers.add((DataNodeContainer) dataSchemaNode);
-            } else if (dataSchemaNode instanceof ChoiceNode) {
-                containers.addAll(((ChoiceNode) dataSchemaNode).getCases());
-            }
-        }
-
-        for (DataNodeContainer container : containers) {
-            DataSchemaNode retVal = findChildNode(container.getChildNodes(), name);
-            if (retVal != null) {
-                return retVal;
-            }
-        }
-
-        return null;
+  }
+
+  public static DataSchemaNode getSchemaNode(final SchemaContext context,
+      final String moduleName, final String childNodeName) {
+    for (Module module : context.getModules()) {
+      if (module.getName().equals(moduleName)) {
+        DataSchemaNode found =
+            findChildNode(module.getChildNodes(), childNodeName);
+        Preconditions.checkState(found != null, "Unable to find %s",
+            childNodeName);
+        return found;
+      }
     }
-
-    public static YangInstanceIdentifier.NodeIdentifier getNodeIdentifier(
-        final String localName) {
-        return new YangInstanceIdentifier.NodeIdentifier(QName.create(
-            URI.create(NAMESPACE), revision, localName));
+    throw new IllegalStateException("Unable to find child node "
+        + childNodeName);
+  }
+
+  static DataSchemaNode findChildNode(
+      final Collection<DataSchemaNode> children, final String name) {
+    List<DataNodeContainer> containers = Lists.newArrayList();
+
+    for (DataSchemaNode dataSchemaNode : children) {
+      if (dataSchemaNode.getQName().getLocalName().equals(name)) {
+        return dataSchemaNode;
+      }
+      if (dataSchemaNode instanceof DataNodeContainer) {
+        containers.add((DataNodeContainer) dataSchemaNode);
+      } else if (dataSchemaNode instanceof ChoiceNode) {
+        containers.addAll(((ChoiceNode) dataSchemaNode).getCases());
+      }
     }
 
-    public static YangInstanceIdentifier.AugmentationIdentifier getAugmentIdentifier(
-        final String... childNames) {
-        Set<QName> qn = Sets.newHashSet();
-
-        for (String childName : childNames) {
-            qn.add(getNodeIdentifier(childName).getNodeType());
-        }
-
-        return new YangInstanceIdentifier.AugmentationIdentifier(qn);
+    for (DataNodeContainer container : containers) {
+      DataSchemaNode retVal = findChildNode(container.getChildNodes(), name);
+      if (retVal != null) {
+        return retVal;
+      }
     }
 
+    return null;
+  }
 
-    public static ContainerNode augmentChoiceExpectedNode() {
-
-        DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> b =
-            Builders.containerBuilder();
-        b.withNodeIdentifier(getNodeIdentifier("container"));
-
-        b.withChild(Builders
-            .choiceBuilder()
-            .withNodeIdentifier(getNodeIdentifier("ch2"))
-            .withChild(
-                Builders.leafBuilder()
-                    .withNodeIdentifier(getNodeIdentifier("c2Leaf")).withValue("2")
-                    .build())
-            .withChild(
-                Builders
-                    .choiceBuilder()
-                    .withNodeIdentifier(getNodeIdentifier("c2DeepChoice"))
-                    .withChild(
-                        Builders
-                            .leafBuilder()
-                            .withNodeIdentifier(
-                                getNodeIdentifier("c2DeepChoiceCase1Leaf2"))
-                            .withValue("2").build()).build()).build());
-
-        b.withChild(Builders
-            .choiceBuilder()
-            .withNodeIdentifier(getNodeIdentifier("ch3"))
-            .withChild(
-                Builders.leafBuilder()
-                    .withNodeIdentifier(getNodeIdentifier("c3Leaf")).withValue("3")
-                    .build()).build());
-
-        b.withChild(Builders
-            .augmentationBuilder()
-            .withNodeIdentifier(getAugmentIdentifier("augLeaf"))
-            .withChild(
-                Builders.leafBuilder()
-                    .withNodeIdentifier(getNodeIdentifier("augLeaf"))
-                    .withValue("augment").build()).build());
-
-        b.withChild(Builders
-            .augmentationBuilder()
-            .withNodeIdentifier(getAugmentIdentifier("ch"))
-            .withChild(
-                Builders
-                    .choiceBuilder()
-                    .withNodeIdentifier(getNodeIdentifier("ch"))
-                    .withChild(
-                        Builders.leafBuilder()
-                            .withNodeIdentifier(getNodeIdentifier("c1Leaf"))
-                            .withValue("1").build())
-                    .withChild(
-                        Builders
-                            .augmentationBuilder()
-                            .withNodeIdentifier(
-                                getAugmentIdentifier("c1Leaf_AnotherAugment",
-                                    "deepChoice"))
-                            .withChild(
-                                Builders
-                                    .leafBuilder()
-                                    .withNodeIdentifier(
-                                        getNodeIdentifier("c1Leaf_AnotherAugment"))
-                                    .withValue("1").build())
-                            .withChild(
-                                Builders
-                                    .choiceBuilder()
-                                    .withNodeIdentifier(
-                                        getNodeIdentifier("deepChoice"))
-                                    .withChild(
-                                        Builders
-                                            .leafBuilder()
-                                            .withNodeIdentifier(
-                                                getNodeIdentifier("deepLeafc1"))
-                                            .withValue("1").build()).build())
-                            .build()).build()).build());
-
-        return b.build();
-    }
-
+  public static YangInstanceIdentifier.NodeIdentifier getNodeIdentifier(
+      final String localName) {
+    return new YangInstanceIdentifier.NodeIdentifier(QName.create(
+        URI.create(NAMESPACE), revision, localName));
+  }
 
+  public static YangInstanceIdentifier.AugmentationIdentifier getAugmentIdentifier(
+      final String... childNames) {
+    Set<QName> qn = Sets.newHashSet();
 
-    public void init(final String yangPath, final String xmlPath, final ContainerNode expectedNode)
-        throws Exception {
-        SchemaContext schema = parseTestSchema(yangPath);
-        this.xmlPath = xmlPath;
-        this.containerNode =
-            (ContainerSchemaNode) getSchemaNode(schema, "test", "container");
-        this.expectedNode = expectedNode;
+    for (String childName : childNames) {
+      qn.add(getNodeIdentifier(childName).getNodeType());
     }
 
-    SchemaContext parseTestSchema(final String yangPath) throws Exception {
-
-        YangParserImpl yangParserImpl = new YangParserImpl();
-        InputStream stream =
-            NormalizedNodeXmlConverterTest.class.getResourceAsStream(yangPath);
-        ArrayList<InputStream> al = new ArrayList<InputStream>();
-        al.add(stream);
-        Set<Module> modules = yangParserImpl.parseYangModelsFromStreams(al);
-        return yangParserImpl.resolveSchemaContext(modules);
-
+    return new YangInstanceIdentifier.AugmentationIdentifier(qn);
+  }
+
+
+  public static ContainerNode augmentChoiceExpectedNode() {
+
+    DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> b =
+        Builders.containerBuilder();
+    b.withNodeIdentifier(getNodeIdentifier("container"));
+
+    b.withChild(Builders
+        .choiceBuilder()
+        .withNodeIdentifier(getNodeIdentifier("ch2"))
+        .withChild(
+            Builders.leafBuilder()
+                .withNodeIdentifier(getNodeIdentifier("c2Leaf")).withValue("2")
+                .build())
+        .withChild(
+            Builders
+                .choiceBuilder()
+                .withNodeIdentifier(getNodeIdentifier("c2DeepChoice"))
+                .withChild(
+                    Builders
+                        .leafBuilder()
+                        .withNodeIdentifier(
+                            getNodeIdentifier("c2DeepChoiceCase1Leaf2"))
+                        .withValue("2").build()).build()).build());
+
+    b.withChild(Builders
+        .choiceBuilder()
+        .withNodeIdentifier(getNodeIdentifier("ch3"))
+        .withChild(
+            Builders.leafBuilder()
+                .withNodeIdentifier(getNodeIdentifier("c3Leaf")).withValue("3")
+                .build()).build());
+
+    b.withChild(Builders
+        .augmentationBuilder()
+        .withNodeIdentifier(getAugmentIdentifier("augLeaf"))
+        .withChild(
+            Builders.leafBuilder()
+                .withNodeIdentifier(getNodeIdentifier("augLeaf"))
+                .withValue("augment").build()).build());
+
+    b.withChild(Builders
+        .augmentationBuilder()
+        .withNodeIdentifier(getAugmentIdentifier("ch"))
+        .withChild(
+            Builders
+                .choiceBuilder()
+                .withNodeIdentifier(getNodeIdentifier("ch"))
+                .withChild(
+                    Builders.leafBuilder()
+                        .withNodeIdentifier(getNodeIdentifier("c1Leaf"))
+                        .withValue("1").build())
+                .withChild(
+                    Builders
+                        .augmentationBuilder()
+                        .withNodeIdentifier(
+                            getAugmentIdentifier("c1Leaf_AnotherAugment",
+                                "deepChoice"))
+                        .withChild(
+                            Builders
+                                .leafBuilder()
+                                .withNodeIdentifier(
+                                    getNodeIdentifier("c1Leaf_AnotherAugment"))
+                                .withValue("1").build())
+                        .withChild(
+                            Builders
+                                .choiceBuilder()
+                                .withNodeIdentifier(
+                                    getNodeIdentifier("deepChoice"))
+                                .withChild(
+                                    Builders
+                                        .leafBuilder()
+                                        .withNodeIdentifier(
+                                            getNodeIdentifier("deepLeafc1"))
+                                        .withValue("1").build()).build())
+                        .build()).build()).build());
+
+    return b.build();
+  }
+
+
+
+  public void init(final String yangPath, final String xmlPath,
+      final ContainerNode expectedNode) throws Exception {
+    SchemaContext schema = parseTestSchema(yangPath);
+    this.xmlPath = xmlPath;
+    this.containerNode =
+        (ContainerSchemaNode) getSchemaNode(schema, "test", "container");
+    this.expectedNode = expectedNode;
+  }
+
+  SchemaContext parseTestSchema(final String yangPath) throws Exception {
+
+    YangParserImpl yangParserImpl = new YangParserImpl();
+    InputStream stream =
+        NormalizedNodeXmlConverterTest.class.getResourceAsStream(yangPath);
+    ArrayList<InputStream> al = new ArrayList<InputStream>();
+    al.add(stream);
+    Set<Module> modules = yangParserImpl.parseYangModelsFromStreams(al);
+    return yangParserImpl.resolveSchemaContext(modules);
+
+  }
+
+
+  @Test
+  public void testConversionWithAugmentChoice() throws Exception {
+    init("/augment_choice.yang", "/augment_choice.xml",
+        augmentChoiceExpectedNode());
+    Document doc = loadDocument(xmlPath);
+
+    ContainerNode built =
+        DomToNormalizedNodeParserFactory
+            .getInstance(DomUtils.defaultValueCodecProvider())
+            .getContainerNodeParser()
+            .parse(Collections.singletonList(doc.getDocumentElement()),
+                containerNode);
+
+    if (expectedNode != null) {
+      junit.framework.Assert.assertEquals(expectedNode, built);
     }
 
+    logger.info("{}", built);
 
-    @Test
-    public void testConversionWithAugmentChoice() throws Exception {
-        init("/augment_choice.yang", "/augment_choice.xml",
-            augmentChoiceExpectedNode());
-        Document doc = loadDocument(xmlPath);
+    Iterable<Element> els =
+        DomFromNormalizedNodeSerializerFactory
+            .getInstance(XmlDocumentUtils.getDocument(),
+                DomUtils.defaultValueCodecProvider())
+            .getContainerNodeSerializer().serialize(containerNode, built);
 
-        ContainerNode built =
-            DomToNormalizedNodeParserFactory
-                .getInstance(DomUtils.defaultValueCodecProvider())
-                .getContainerNodeParser()
-                .parse(Collections.singletonList(doc.getDocumentElement()),
-                    containerNode);
+    Element el = els.iterator().next();
 
-        if (expectedNode != null) {
-            junit.framework.Assert.assertEquals(expectedNode, built);
-        }
+    XMLUnit.setIgnoreWhitespace(true);
+    XMLUnit.setIgnoreComments(true);
 
-        logger.info("{}", built);
+    System.out.println(toString(doc.getDocumentElement()));
+    System.out.println(toString(el));
 
-        Iterable<Element> els =
-            DomFromNormalizedNodeSerializerFactory
-                .getInstance(XmlDocumentUtils.getDocument(),
-                    DomUtils.defaultValueCodecProvider())
-                .getContainerNodeSerializer().serialize(containerNode, built);
+    new Diff(XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
+        XMLUnit.buildTestDocument(toString(el))).similar();
+  }
 
-        Element el = els.iterator().next();
+  private static ContainerNode listLeafListWithAttributes() {
+    DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> b =
+        Builders.containerBuilder();
+    b.withNodeIdentifier(getNodeIdentifier("container"));
 
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLUnit.setIgnoreComments(true);
+    CollectionNodeBuilder<MapEntryNode, MapNode> listBuilder =
+        Builders.mapBuilder().withNodeIdentifier(getNodeIdentifier("list"));
 
-        System.out.println(toString(doc.getDocumentElement()));
-        System.out.println(toString(el));
+    Map<QName, Object> predicates = Maps.newHashMap();
+    predicates.put(getNodeIdentifier("uint32InList").getNodeType(), 3L);
 
-        new Diff(
-            XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
-            XMLUnit.buildTestDocument(toString(el))).similar();
-    }
+    DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> list1Builder =
+        Builders.mapEntryBuilder().withNodeIdentifier(
+            new YangInstanceIdentifier.NodeIdentifierWithPredicates(
+                getNodeIdentifier("list").getNodeType(), predicates));
+    NormalizedNodeBuilder<YangInstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> uint32InListBuilder =
+        Builders.leafBuilder().withNodeIdentifier(
+            getNodeIdentifier("uint32InList"));
 
-    private static ContainerNode listLeafListWithAttributes() {
-        DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifier, ContainerNode> b =
-            Builders.containerBuilder();
-        b.withNodeIdentifier(getNodeIdentifier("container"));
+    list1Builder.withChild(uint32InListBuilder.withValue(3L).build());
 
-        CollectionNodeBuilder<MapEntryNode, MapNode> listBuilder =
-            Builders.mapBuilder().withNodeIdentifier(getNodeIdentifier("list"));
+    listBuilder.withChild(list1Builder.build());
+    b.withChild(listBuilder.build());
 
-        Map<QName, Object> predicates = Maps.newHashMap();
-        predicates.put(getNodeIdentifier("uint32InList").getNodeType(), 3L);
+    NormalizedNodeBuilder<YangInstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> booleanBuilder =
+        Builders.leafBuilder().withNodeIdentifier(getNodeIdentifier("boolean"));
+    booleanBuilder.withValue(false);
+    b.withChild(booleanBuilder.build());
 
-        DataContainerNodeBuilder<YangInstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> list1Builder =
-            Builders.mapEntryBuilder().withNodeIdentifier(
-                new YangInstanceIdentifier.NodeIdentifierWithPredicates(
-                    getNodeIdentifier("list").getNodeType(), predicates));
-        NormalizedNodeBuilder<YangInstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> uint32InListBuilder =
-            Builders.leafBuilder().withNodeIdentifier(
-                getNodeIdentifier("uint32InList"));
+    ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafListBuilder =
+        Builders.leafSetBuilder().withNodeIdentifier(
+            getNodeIdentifier("leafList"));
 
-        list1Builder.withChild(uint32InListBuilder.withValue(3L).build());
+    NormalizedNodeBuilder<YangInstanceIdentifier.NodeWithValue, Object, LeafSetEntryNode<Object>> leafList1Builder =
+        Builders.leafSetEntryBuilder().withNodeIdentifier(
+            new YangInstanceIdentifier.NodeWithValue(getNodeIdentifier(
+                "leafList").getNodeType(), "a"));
 
-        listBuilder.withChild(list1Builder.build());
-        b.withChild(listBuilder.build());
+    leafList1Builder.withValue("a");
 
-        NormalizedNodeBuilder<YangInstanceIdentifier.NodeIdentifier, Object, LeafNode<Object>> booleanBuilder =
-            Builders.leafBuilder().withNodeIdentifier(getNodeIdentifier("boolean"));
-        booleanBuilder.withValue(false);
-        b.withChild(booleanBuilder.build());
+    leafListBuilder.withChild(leafList1Builder.build());
+    b.withChild(leafListBuilder.build());
 
-        ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafListBuilder =
-            Builders.leafSetBuilder().withNodeIdentifier(
-                getNodeIdentifier("leafList"));
+    return b.build();
+  }
 
-        NormalizedNodeBuilder<YangInstanceIdentifier.NodeWithValue, Object, LeafSetEntryNode<Object>> leafList1Builder =
-            Builders.leafSetEntryBuilder().withNodeIdentifier(
-                new YangInstanceIdentifier.NodeWithValue(getNodeIdentifier("leafList")
-                    .getNodeType(), "a"));
 
-        leafList1Builder.withValue("a");
+  @Test
+  public void testConversionWithAttributes() throws Exception {
+    init("/test.yang", "/simple_xml_with_attributes.xml",
+        listLeafListWithAttributes());
+    Document doc = loadDocument(xmlPath);
 
-        leafListBuilder.withChild(leafList1Builder.build());
-        b.withChild(leafListBuilder.build());
+    ContainerNode built =
+        DomToNormalizedNodeParserFactory
+            .getInstance(DomUtils.defaultValueCodecProvider())
+            .getContainerNodeParser()
+            .parse(Collections.singletonList(doc.getDocumentElement()),
+                containerNode);
 
-        return b.build();
+    if (expectedNode != null) {
+      junit.framework.Assert.assertEquals(expectedNode, built);
     }
 
+    logger.info("{}", built);
 
-    @Test
-    public void testConversionWithAttributes() throws Exception {
-        init("/test.yang", "/simple_xml_with_attributes.xml",
-            listLeafListWithAttributes());
-        Document doc = loadDocument(xmlPath);
+    Iterable<Element> els =
+        DomFromNormalizedNodeSerializerFactory
+            .getInstance(XmlDocumentUtils.getDocument(),
+                DomUtils.defaultValueCodecProvider())
+            .getContainerNodeSerializer().serialize(containerNode, built);
 
-        ContainerNode built =
-            DomToNormalizedNodeParserFactory
-                .getInstance(DomUtils.defaultValueCodecProvider())
-                .getContainerNodeParser()
-                .parse(Collections.singletonList(doc.getDocumentElement()),
-                    containerNode);
+    Element el = els.iterator().next();
 
-        if (expectedNode != null) {
-            junit.framework.Assert.assertEquals(expectedNode, built);
-        }
+    XMLUnit.setIgnoreWhitespace(true);
+    XMLUnit.setIgnoreComments(true);
 
-        logger.info("{}", built);
+    System.out.println(toString(doc.getDocumentElement()));
+    System.out.println(toString(el));
 
-        Iterable<Element> els =
-            DomFromNormalizedNodeSerializerFactory
-                .getInstance(XmlDocumentUtils.getDocument(),
-                    DomUtils.defaultValueCodecProvider())
-                .getContainerNodeSerializer().serialize(containerNode, built);
+    new Diff(XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
+        XMLUnit.buildTestDocument(toString(el))).similar();
+  }
 
-        Element el = els.iterator().next();
 
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLUnit.setIgnoreComments(true);
+  private Document loadDocument(final String xmlPath) throws Exception {
+    InputStream resourceAsStream =
+        NormalizedNodeXmlConverterTest.class.getResourceAsStream(xmlPath);
 
-        System.out.println(toString(doc.getDocumentElement()));
-        System.out.println(toString(el));
+    Document currentConfigElement = readXmlToDocument(resourceAsStream);
+    Preconditions.checkNotNull(currentConfigElement);
+    return currentConfigElement;
+  }
 
-        new Diff(
-            XMLUnit.buildControlDocument(toString(doc.getDocumentElement())),
-            XMLUnit.buildTestDocument(toString(el))).similar();
-    }
+  private static final DocumentBuilderFactory BUILDERFACTORY;
 
+  static {
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    factory.setNamespaceAware(true);
+    factory.setCoalescing(true);
+    factory.setIgnoringElementContentWhitespace(true);
+    factory.setIgnoringComments(true);
+    BUILDERFACTORY = factory;
+  }
 
-    private Document loadDocument(final String xmlPath) throws Exception {
-        InputStream resourceAsStream =
-            NormalizedNodeXmlConverterTest.class.getResourceAsStream(xmlPath);
-
-        Document currentConfigElement = readXmlToDocument(resourceAsStream);
-        Preconditions.checkNotNull(currentConfigElement);
-        return currentConfigElement;
-    }
-
-    private static final DocumentBuilderFactory BUILDERFACTORY;
-
-    static {
-        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        factory.setNamespaceAware(true);
-        factory.setCoalescing(true);
-        factory.setIgnoringElementContentWhitespace(true);
-        factory.setIgnoringComments(true);
-        BUILDERFACTORY = factory;
+  private Document readXmlToDocument(final InputStream xmlContent)
+      throws IOException, SAXException {
+    DocumentBuilder dBuilder;
+    try {
+      dBuilder = BUILDERFACTORY.newDocumentBuilder();
+    } catch (ParserConfigurationException e) {
+      throw new RuntimeException("Failed to parse XML document", e);
     }
-
-    private Document readXmlToDocument(final InputStream xmlContent)
-        throws IOException, SAXException {
-        DocumentBuilder dBuilder;
-        try {
-            dBuilder = BUILDERFACTORY.newDocumentBuilder();
-        } catch (ParserConfigurationException e) {
-            throw new RuntimeException("Failed to parse XML document", e);
-        }
-        Document doc = dBuilder.parse(xmlContent);
-
-        doc.getDocumentElement().normalize();
-        return doc;
-    }
-
-    public static String toString(final Element xml) {
-        try {
-            Transformer transformer =
-                TransformerFactory.newInstance().newTransformer();
-            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-
-            StreamResult result = new StreamResult(new StringWriter());
-            DOMSource source = new DOMSource(xml);
-            transformer.transform(source, result);
-
-            return result.getWriter().toString();
-        } catch (IllegalArgumentException | TransformerFactoryConfigurationError
-            | TransformerException e) {
-            throw new RuntimeException("Unable to serialize xml element " + xml, e);
-        }
+    Document doc = dBuilder.parse(xmlContent);
+
+    doc.getDocumentElement().normalize();
+    return doc;
+  }
+
+  public static String toString(final Element xml) {
+    try {
+      Transformer transformer =
+          TransformerFactory.newInstance().newTransformer();
+      transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+
+      StreamResult result = new StreamResult(new StringWriter());
+      DOMSource source = new DOMSource(xml);
+      transformer.transform(source, result);
+
+      return result.getWriter().toString();
+    } catch (IllegalArgumentException | TransformerFactoryConfigurationError
+        | TransformerException e) {
+      throw new RuntimeException("Unable to serialize xml element " + xml, e);
     }
+  }
 
-    @Test
-    public void testConversionToNormalizedXml() throws Exception {
-        SimpleNormalizedNodeMessage.NormalizedNodeXml nnXml =
-            EncoderDecoderUtil.encode(parseTestSchema("/augment_choice.yang"),
-                augmentChoiceExpectedNode());
-        Document expectedDoc = loadDocument("/augment_choice.xml");
-        Document convertedDoc =
-            EncoderDecoderUtil.factory.newDocumentBuilder().parse(
-                new ByteArrayInputStream(nnXml.getXmlString().getBytes("utf-8")));
-        System.out.println(toString(convertedDoc.getDocumentElement()));
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLUnit.setIgnoreComments(true);
-        new Diff(XMLUnit.buildControlDocument(toString(expectedDoc
-            .getDocumentElement())),
-            XMLUnit.buildTestDocument(toString(convertedDoc
-                .getDocumentElement()))).similar();
-        System.out.println(toString(expectedDoc.getDocumentElement()));
-
-    }
-
-
-    @Test
-    public void testConversionFromXmlToNormalizedNode() throws Exception {
-        SimpleNormalizedNodeMessage.NormalizedNodeXml nnXml =
-            EncoderDecoderUtil.encode(parseTestSchema("/test.yang"),
-                listLeafListWithAttributes());
-        Document expectedDoc = loadDocument("/simple_xml_with_attributes.xml");
-        Document convertedDoc =
-            EncoderDecoderUtil.factory.newDocumentBuilder().parse(
-                new ByteArrayInputStream(nnXml.getXmlString().getBytes("utf-8")));
-        System.out.println(toString(convertedDoc.getDocumentElement()));
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLUnit.setIgnoreComments(true);
-        new Diff(XMLUnit.buildControlDocument(toString(expectedDoc
-            .getDocumentElement())),
-            XMLUnit.buildTestDocument(toString(convertedDoc
-                .getDocumentElement()))).similar();
-        System.out.println(toString(expectedDoc.getDocumentElement()));
-
-        // now we will try to convert xml back to normalize node.
-        ContainerNode cn =
-            (ContainerNode) EncoderDecoderUtil.decode(
-                parseTestSchema("/test.yang"), nnXml);
-        junit.framework.Assert.assertEquals(listLeafListWithAttributes(), cn);
-
-    }
+  @Test
+  public void testConversionToNormalizedXml() throws Exception {
+    SimpleNormalizedNodeMessage.NormalizedNodeXml nnXml =
+        EncoderDecoderUtil.encode(parseTestSchema("/augment_choice.yang"),
+            augmentChoiceExpectedNode());
+    Document expectedDoc = loadDocument("/augment_choice.xml");
+    Document convertedDoc =
+        EncoderDecoderUtil.factory.newDocumentBuilder().parse(
+            new ByteArrayInputStream(nnXml.getXmlString().getBytes("utf-8")));
+    System.out.println(toString(convertedDoc.getDocumentElement()));
+    XMLUnit.setIgnoreWhitespace(true);
+    XMLUnit.setIgnoreComments(true);
+    new Diff(XMLUnit.buildControlDocument(toString(expectedDoc
+        .getDocumentElement())),
+        XMLUnit.buildTestDocument(toString(convertedDoc.getDocumentElement())))
+        .similar();
+    System.out.println(toString(expectedDoc.getDocumentElement()));
+
+  }
+
+
+  @Test
+  public void testConversionFromXmlToNormalizedNode() throws Exception {
+    SimpleNormalizedNodeMessage.NormalizedNodeXml nnXml =
+        EncoderDecoderUtil.encode(parseTestSchema("/test.yang"),
+            listLeafListWithAttributes());
+    Document expectedDoc = loadDocument("/simple_xml_with_attributes.xml");
+    Document convertedDoc =
+        EncoderDecoderUtil.factory.newDocumentBuilder().parse(
+            new ByteArrayInputStream(nnXml.getXmlString().getBytes("utf-8")));
+    System.out.println(toString(convertedDoc.getDocumentElement()));
+    XMLUnit.setIgnoreWhitespace(true);
+    XMLUnit.setIgnoreComments(true);
+    new Diff(XMLUnit.buildControlDocument(toString(expectedDoc
+        .getDocumentElement())),
+        XMLUnit.buildTestDocument(toString(convertedDoc.getDocumentElement())))
+        .similar();
+    System.out.println(toString(expectedDoc.getDocumentElement()));
+
+    // now we will try to convert xml back to normalize node.
+    ContainerNode cn =
+        (ContainerNode) EncoderDecoderUtil.decode(
+            parseTestSchema("/test.yang"), nnXml);
+    junit.framework.Assert.assertEquals(listLeafListWithAttributes(), cn);
+
+  }
 
 }