* and is available at http://www.eclipse.org/legal/epl-v10.html
*
*/
-
package org.opendaylight.controller.cluster.datastore.node.utils.stream;
-
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import org.apache.commons.lang.SerializationUtils;
import org.junit.Assert;
import org.junit.Test;
import org.opendaylight.controller.cluster.datastore.util.TestModel;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
+import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
+import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
+public class NormalizedNodeStreamReaderWriterTest {
-import static org.junit.Assert.fail;
+ @Test
+ public void testNormalizedNodeStreamReaderWriter() throws IOException {
-public class NormalizedNodeStreamReaderWriterTest {
+ testNormalizedNodeStreamReaderWriter(TestModel.createTestContainer());
- final NormalizedNode<?, ?> input = TestModel.createTestContainer();
+ QName toaster = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","toaster");
+ QName darknessFactor = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","darknessFactor");
+ ContainerNode toasterNode = Builders.containerBuilder().
+ withNodeIdentifier(new NodeIdentifier(toaster)).
+ withChild(ImmutableNodes.leafNode(darknessFactor, "1000")).build();
- @Test
- public void testNormalizedNodeStreamReaderWriter() {
+ testNormalizedNodeStreamReaderWriter(Builders.containerBuilder().
+ withNodeIdentifier(new NodeIdentifier(SchemaContext.NAME)).
+ withChild(toasterNode).build());
+ }
+
+ private void testNormalizedNodeStreamReaderWriter(NormalizedNode<?, ?> input) throws IOException {
byte[] byteData = null;
normalizedNodeWriter.write(input);
byteData = byteArrayOutputStream.toByteArray();
- } catch (IOException e) {
- fail("Writing to OutputStream failed :" + e.toString());
}
- try(NormalizedNodeInputStreamReader reader = new NormalizedNodeInputStreamReader(new ByteArrayInputStream(byteData))) {
-
- NormalizedNode<?,?> node = reader.readNormalizedNode();
- Assert.assertEquals(input, node);
+ NormalizedNodeInputStreamReader reader = new NormalizedNodeInputStreamReader(
+ new ByteArrayInputStream(byteData));
- } catch (IOException e) {
- fail("Reading from InputStream failed :" + e.toString());
- }
+ NormalizedNode<?,?> node = reader.readNormalizedNode();
+ Assert.assertEquals(input, node);
}
@Test
public void testWithSerializable() {
- SampleNormalizedNodeSerializable serializable = new SampleNormalizedNodeSerializable(input);
+ NormalizedNode<?, ?> input = TestModel.createTestContainer();
+ SampleNormalizedNodeSerializable serializable = new SampleNormalizedNodeSerializable(input );
SampleNormalizedNodeSerializable clone = (SampleNormalizedNodeSerializable)SerializationUtils.clone(serializable);
Assert.assertEquals(input, clone.getInput());
}
-
}