Search in sources :

Example 36 with Top

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top in project mdsal by opendaylight.

the class CachingCodecTest method testListCache.

@Test
public void testListCache() {
    final BindingNormalizedNodeCachingCodec<Top> cachingCodec = createCachingCodec(TopLevelList.class);
    final NormalizedNode first = cachingCodec.serialize(TOP_TWO_LIST_DATA);
    final NormalizedNode second = cachingCodec.serialize(TOP_TWO_LIST_DATA);
    assertNotSame(first, second);
    assertEquals(first, second);
    verifyListItemSame(first, second);
    final NormalizedNode third = cachingCodec.serialize(TOP_THREE_LIST_DATA);
    verifyListItemSame(first, third);
    verifyListItemSame(second, third);
}
Also used : Top(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top) NormalizedNode(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode) Test(org.junit.Test)

Example 37 with Top

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top in project mdsal by opendaylight.

the class NormalizedNodeSerializeDeserializeTest method equalsWithAugment.

@Test
public void equalsWithAugment() {
    final ContainerNode topNormalizedWithAugments = getNormalizedTopWithAugments(augmentationBuilder().withNodeIdentifier(new AugmentationIdentifier(singleton(AGUMENT_STRING_Q))).withChild(ImmutableNodes.leafNode(AGUMENT_STRING_Q, AUGMENT_STRING_VALUE)).build());
    final ContainerNode topNormalized = getEmptyTop();
    final Entry<InstanceIdentifier<?>, DataObject> entry = codecContext.fromNormalizedNode(BI_TOP_PATH, topNormalized);
    final Entry<InstanceIdentifier<?>, DataObject> entryWithAugments = codecContext.fromNormalizedNode(BI_TOP_PATH, topNormalizedWithAugments);
    // Equals on other with no augmentation should be false
    assertNotEquals(top(), entryWithAugments.getValue());
    // Equals on other(reversed) with no augmentation should be false
    assertNotEquals(entryWithAugments.getValue(), top());
    // Equals on other(lazy) with no augmentation should be false
    assertNotEquals(entry.getValue(), entryWithAugments.getValue());
    // Equals on other(lazy, reversed) with no augmentation should be false
    assertNotEquals(entryWithAugments.getValue(), entry.getValue());
    final Top topWithAugments = topWithAugments(Map.of(Top1.class, new Top1Builder().setAugmentedString(AUGMENT_STRING_VALUE).build()));
    // Equals other with same augment should be true
    assertEquals(topWithAugments, entryWithAugments.getValue());
    // Equals other with same augment should be true
    assertEquals(entryWithAugments.getValue(), topWithAugments);
    // Equals on self should be true
    assertEquals(entryWithAugments.getValue(), entryWithAugments.getValue());
    final Top topWithAugmentsDiffValue = topWithAugments(Map.of(Top1.class, new Top1Builder().setAugmentedString("differentValue").build()));
    assertNotEquals(topWithAugmentsDiffValue, entryWithAugments.getValue());
    assertNotEquals(entryWithAugments.getValue(), topWithAugmentsDiffValue);
}
Also used : AugmentationIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier) DataObject(org.opendaylight.yangtools.yang.binding.DataObject) Top(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top) Top1Builder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top1Builder) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) InstanceIdentifier(org.opendaylight.yangtools.yang.binding.InstanceIdentifier) ContainerNode(org.opendaylight.yangtools.yang.data.api.schema.ContainerNode) Top1(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top1) Test(org.junit.Test)

Example 38 with Top

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top in project mdsal by opendaylight.

the class NormalizedNodeSerializeDeserializeTest method containerToNormalized.

@Test
public void containerToNormalized() {
    final Entry<YangInstanceIdentifier, NormalizedNode> entry = codecContext.toNormalizedNode(InstanceIdentifier.create(Top.class), top());
    final ContainerNode topNormalized = getEmptyTop();
    assertEquals(topNormalized, entry.getValue());
}
Also used : Top(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top) ContainerNode(org.opendaylight.yangtools.yang.data.api.schema.ContainerNode) NormalizedNode(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) Test(org.junit.Test)

Example 39 with Top

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top in project mdsal by opendaylight.

the class NormalizedNodeSerializeDeserializeTest method equalsWithMultipleAugments.

@Test
public void equalsWithMultipleAugments() {
    final ContainerNode topNormalizedWithAugments = getNormalizedTopWithAugments(augmentationBuilder().withNodeIdentifier(new AugmentationIdentifier(singleton(AGUMENT_STRING_Q))).withChild(ImmutableNodes.leafNode(AGUMENT_STRING_Q, AUGMENT_STRING_VALUE)).build(), augmentationBuilder().withNodeIdentifier(new AugmentationIdentifier(singleton(AUGMENT_INT_Q))).withChild(ImmutableNodes.leafNode(AUGMENT_INT_Q, AUGMENT_INT_VALUE)).build());
    final Entry<InstanceIdentifier<?>, DataObject> entryWithAugments = codecContext.fromNormalizedNode(BI_TOP_PATH, topNormalizedWithAugments);
    Top topWithAugments = topWithAugments(Map.of(Top1.class, new Top1Builder().setAugmentedString(AUGMENT_STRING_VALUE).build(), Top2.class, new Top2Builder().setAugmentedInt(AUGMENT_INT_VALUE).build()));
    assertEquals(topWithAugments, entryWithAugments.getValue());
    assertEquals(entryWithAugments.getValue(), topWithAugments);
    topWithAugments = topWithAugments(Map.of(Top1.class, new Top1Builder().setAugmentedString(AUGMENT_STRING_VALUE).build(), Top2.class, new Top2Builder().setAugmentedInt(999).build()));
    assertNotEquals(topWithAugments, entryWithAugments.getValue());
    assertNotEquals(entryWithAugments.getValue(), topWithAugments);
}
Also used : AugmentationIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier) DataObject(org.opendaylight.yangtools.yang.binding.DataObject) Top(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top) Top2Builder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top2Builder) Top1Builder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top1Builder) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) InstanceIdentifier(org.opendaylight.yangtools.yang.binding.InstanceIdentifier) ContainerNode(org.opendaylight.yangtools.yang.data.api.schema.ContainerNode) Top2(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top2) Top1(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top1) Test(org.junit.Test)

Example 40 with Top

use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top in project mdsal by opendaylight.

the class NormalizedNodeSerializeDeserializeTest method leafListFromNormalized.

@Test
public void leafListFromNormalized() {
    final ContainerNode topWithLeafList = ImmutableContainerNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(TOP_QNAME)).withChild(ImmutableLeafSetNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(TOP_LEVEL_LEAF_LIST_QNAME)).withChild(ImmutableLeafSetEntryNodeBuilder.create().withNodeIdentifier(new NodeWithValue<>(TOP_LEVEL_LEAF_LIST_QNAME, "foo")).withValue("foo").build()).build()).build();
    final Entry<InstanceIdentifier<?>, DataObject> entry = codecContext.fromNormalizedNode(BI_TOP_PATH, topWithLeafList);
    final Top top = new TopBuilder().setTopLevelLeafList(Set.of("foo")).build();
    assertEquals(top, entry.getValue());
}
Also used : DataObject(org.opendaylight.yangtools.yang.binding.DataObject) TopBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.TopBuilder) Top(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top) NodeIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) InstanceIdentifier(org.opendaylight.yangtools.yang.binding.InstanceIdentifier) ContainerNode(org.opendaylight.yangtools.yang.data.api.schema.ContainerNode) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)41 Top (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.Top)27 AbstractDataTreeChangeListenerTest (org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataTreeChangeListenerTest)11 InstanceIdentifier (org.opendaylight.yangtools.yang.binding.InstanceIdentifier)11 DataObject (org.opendaylight.yangtools.yang.binding.DataObject)10 WriteTransaction (org.opendaylight.controller.md.sal.binding.api.WriteTransaction)9 WriteTransaction (org.opendaylight.mdsal.binding.api.WriteTransaction)9 YangInstanceIdentifier (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier)9 TopLevelList (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelList)8 ContainerNode (org.opendaylight.yangtools.yang.data.api.schema.ContainerNode)8 NormalizedNode (org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode)8 ReadWriteTransaction (org.opendaylight.mdsal.binding.api.ReadWriteTransaction)7 TopBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.TopBuilder)7 Top (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.Top)6 TopLevelListKey (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelListKey)6 NodeIdentifier (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier)6 AbstractDataChangeListenerTest (org.opendaylight.controller.md.sal.binding.test.AbstractDataChangeListenerTest)5 TopLevelListKey (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListKey)5 TopLevelList (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList)4 AbstractConcurrentDataBrokerTest (org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest)3