*/
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 BindingNormalizedNodeCodecRegistry registry;
+ protected BindingCodecContext codecContext;
@BeforeClass
public static void beforeClass() {
@Before
public void before() {
- this.registry = new BindingNormalizedNodeCodecRegistry(getRuntimeContext());
+ 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();
}
}