Add lazily-instantiated lists
[mdsal.git] / binding / mdsal-binding-dom-codec / src / test / java / org / opendaylight / mdsal / binding / dom / codec / impl / AbstractBindingCodecTest.java
index 425b440c1d07dbf071dbc3ea9017c0bd3c07042e..f49bbf198b493abdbaf8de37a2f062ccc7d3eede 100644 (file)
@@ -7,9 +7,16 @@
  */
 package org.opendaylight.mdsal.binding.dom.codec.impl;
 
+import static org.junit.Assert.assertEquals;
+
+import java.util.Map.Entry;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
 public abstract class AbstractBindingCodecTest extends AbstractBindingRuntimeTest {
     protected BindingCodecContext codecContext;
@@ -28,4 +35,13 @@ public abstract class AbstractBindingCodecTest extends AbstractBindingRuntimeTes
     public void before() {
         this.codecContext = new BindingCodecContext(getRuntimeContext());
     }
+
+    @SuppressWarnings("unchecked")
+    protected <T extends DataObject> T thereAndBackAgain(final InstanceIdentifier<T> path, final T data) {
+        final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> there = codecContext.toNormalizedNode(path, data);
+        final Entry<InstanceIdentifier<?>, DataObject> backAgain = codecContext.fromNormalizedNode(there.getKey(),
+            there.getValue());
+        assertEquals(path, backAgain.getKey());
+        return (T) backAgain.getValue();
+    }
 }