2 * Copyright (c) 2018 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.javav2.dom.codec.impl;
10 import static org.junit.Assert.assertEquals;
12 import javassist.ClassPool;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.opendaylight.mdsal.binding.javav2.dom.codec.generator.impl.StreamWriterGenerator;
16 import org.opendaylight.mdsal.binding.javav2.runtime.javassist.JavassistUtils;
17 import org.opendaylight.mdsal.binding.javav2.spec.base.InstanceIdentifier;
18 import org.opendaylight.mdsal.gen.javav2.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.data.ChoiceContainer;
19 import org.opendaylight.mdsal.gen.javav2.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.data.choice_container.identifier.simple.SimpleId;
20 import org.opendaylight.yangtools.yang.common.QName;
21 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
23 public class InstanceIdentifierSerializeDeserializeTest extends AbstractBindingRuntimeTest {
24 private static final InstanceIdentifier<SimpleId> BA_SIMPLE_ID = InstanceIdentifier
25 .builder(ChoiceContainer.class).child(SimpleId.class).build();
27 private static final QName CHOICE_CONTAINER_QNAME = ChoiceContainer.QNAME;
28 private static final QName SIMPLE_ID_QNAME = SimpleId.QNAME;
31 private static final YangInstanceIdentifier BI_SIMPLE_ID_PATH = YangInstanceIdentifier
32 .of(CHOICE_CONTAINER_QNAME).node(SIMPLE_ID_QNAME);
34 private BindingNormalizedNodeCodecRegistry registry;
40 final JavassistUtils utils = JavassistUtils.forClassPool(ClassPool.getDefault());
41 registry = new BindingNormalizedNodeCodecRegistry(StreamWriterGenerator.create(utils));
42 registry.onBindingRuntimeContextUpdated(getRuntimeContext());
46 public void testYangIIToBindingAwareII() {
47 final InstanceIdentifier<?> instanceIdentifier = registry.fromYangInstanceIdentifier(BI_SIMPLE_ID_PATH);
48 assertEquals(BA_SIMPLE_ID, instanceIdentifier);
52 public void testBindingAwareIIToYangIContainer() {
53 final YangInstanceIdentifier yangInstanceIdentifier = registry.toYangInstanceIdentifier(BA_SIMPLE_ID);
54 assertEquals(BI_SIMPLE_ID_PATH, yangInstanceIdentifier);