+ NormalizedNode<?, ?> testContainer = TestModel.createBaseTestContainerBuilder().build();
+ writer.writeNormalizedNode(testContainer);
+
+ YangInstanceIdentifier path = YangInstanceIdentifier.builder(TestModel.TEST_PATH)
+ .node(TestModel.OUTER_LIST_QNAME).nodeWithKey(
+ TestModel.INNER_LIST_QNAME, TestModel.ID_QNAME, 10).build();
+
+ writer.writeYangInstanceIdentifier(path);
+
+ NormalizedNodeDataInput reader = NormalizedNodeInputOutput.newDataInput(
+ ByteStreams.newDataInput(byteArrayOutputStream.toByteArray()));
+
+ NormalizedNode<?,?> node = reader.readNormalizedNode();
+ Assert.assertEquals(testContainer, node);
+
+ YangInstanceIdentifier newPath = reader.readYangInstanceIdentifier();
+ Assert.assertEquals(path, newPath);
+
+ writer.close();
+ }
+
+ @Test(expected = InvalidNormalizedNodeStreamException.class, timeout = 10000)
+ public void testInvalidNormalizedNodeStream() throws IOException {
+ byte[] invalidBytes = {1,2,3};
+ NormalizedNodeDataInput reader = NormalizedNodeInputOutput.newDataInput(
+ ByteStreams.newDataInput(invalidBytes));
+
+ reader.readNormalizedNode();
+ }
+
+ @Test(expected = InvalidNormalizedNodeStreamException.class, timeout = 10000)
+ public void testInvalidYangInstanceIdentifierStream() throws IOException {
+ byte[] invalidBytes = {1,2,3};
+ NormalizedNodeDataInput reader = NormalizedNodeInputOutput.newDataInput(
+ ByteStreams.newDataInput(invalidBytes));
+
+ reader.readYangInstanceIdentifier();