use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelList in project mdsal by opendaylight.
the class ListInsertionDataChangeListenerTest method mergeTopNodeSubtreeListeners.
@Test
public void mergeTopNodeSubtreeListeners() {
final TopLevelList topBar = topLevelList(TOP_BAR_KEY);
final TopLevelList topFoo = topLevelList(TOP_FOO_KEY);
final TestListener<Top> topListener = createListener(CONFIGURATION, TOP, added(TOP, top(topLevelList(TOP_FOO_KEY))), topSubtreeModified(topFoo, topBar));
final TestListener<TopLevelList> allListener = createListener(CONFIGURATION, WILDCARDED, added(TOP_FOO, topFoo), added(TOP_BAR, topBar));
final TestListener<TopLevelList> fooListener = createListener(CONFIGURATION, TOP_FOO, added(TOP_FOO, topFoo));
final TestListener<TopLevelList> barListener = createListener(CONFIGURATION, TOP_BAR, added(TOP_BAR, topBar));
ReadWriteTransaction writeTx = getDataBroker().newReadWriteTransaction();
writeTx.merge(CONFIGURATION, TOP, top(topLevelList(TOP_BAR_KEY)));
assertCommit(writeTx.commit());
topListener.verify();
allListener.verify();
fooListener.verify();
barListener.verify();
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelList in project mdsal by opendaylight.
the class ListInsertionDataChangeListenerTest method topSubtreeModified.
private static Function<DataTreeModification<Top>, Boolean> topSubtreeModified(final TopLevelList topFoo, final TopLevelList topBar) {
return match(ModificationType.SUBTREE_MODIFIED, TOP, (Function<Top, Boolean>) dataBefore -> Objects.equals(top(topFoo), dataBefore), dataAfter -> {
Set<TopLevelList> expList = new HashSet<>(top(topBar, topFoo).getTopLevelList().values());
Set<TopLevelList> actualList = dataAfter.getTopLevelList().values().stream().map(list -> new TopLevelListBuilder(list).build()).collect(Collectors.toSet());
return expList.equals(actualList);
});
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelList in project mdsal by opendaylight.
the class Mdsal108Test method testDelete.
@Test
public void testDelete() {
DataBroker dataBroker = getDataBroker();
WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
final TopLevelList item = new TopLevelListBuilder().setName("name").build();
TopBuilder builder = new TopBuilder().setTopLevelList(Collections.singletonMap(item.key(), item));
writeTransaction.put(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(Top.class), builder.build());
assertCommit(writeTransaction.commit());
InstanceIdentifier<TopLevelList> id = InstanceIdentifier.builder(Top.class).child(TopLevelList.class, new TopLevelListKey("name")).build();
ReadWriteTransaction writeTransaction1 = dataBroker.newReadWriteTransaction();
writeTransaction1.delete(LogicalDatastoreType.OPERATIONAL, id);
assertCommit(writeTransaction1.commit());
ReadWriteTransaction writeTransaction2 = dataBroker.newReadWriteTransaction();
writeTransaction2.delete(LogicalDatastoreType.OPERATIONAL, id);
assertCommit(writeTransaction2.commit());
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelList in project mdsal by opendaylight.
the class NormalizedNodeSerializeDeserializeTest method orderedLisToNormalized.
@Test
public void orderedLisToNormalized() {
final TopLevelList topLevelList = new TopLevelListBuilder().withKey(TOP_LEVEL_LIST_FOO_KEY).setNestedList(List.of(new NestedListBuilder().withKey(new NestedListKey("foo")).build(), new NestedListBuilder().withKey(new NestedListKey("bar")).build())).build();
final Entry<YangInstanceIdentifier, NormalizedNode> entry = codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, topLevelList);
final MapEntryNode foo = mapEntryBuilder().withNodeIdentifier(NodeIdentifierWithPredicates.of(TOP_LEVEL_LIST_QNAME, TOP_LEVEL_LIST_KEY_QNAME, TOP_LEVEL_LIST_FOO_KEY_VALUE)).withChild(leafNode(TOP_LEVEL_LIST_KEY_QNAME, TOP_LEVEL_LIST_FOO_KEY_VALUE)).withChild(ImmutableUserMapNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(NESTED_LIST_QNAME)).withChild(mapEntry(NESTED_LIST_QNAME, NESTED_LIST_KEY_QNAME, "foo")).withChild(mapEntry(NESTED_LIST_QNAME, NESTED_LIST_KEY_QNAME, "bar")).build()).build();
assertEquals(foo, entry.getValue());
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.binding.rev140701.two.level.list.TopLevelList in project mdsal by opendaylight.
the class LazyBindingListTest method testLazyList.
@Test
public void testLazyList() {
final List<NestedList> nested = new ArrayList<>();
for (int i = 0; i < 2 * LazyBindingList.LAZY_CUTOFF; ++i) {
nested.add(new NestedListBuilder().setName(String.valueOf(i)).build());
}
final TopLevelList expected = new TopLevelListBuilder().setName("test").setNestedList(nested).build();
final TopLevelList actual = thereAndBackAgain(InstanceIdentifier.create(Top.class).child(TopLevelList.class, expected.key()), expected);
final List<NestedList> list = actual.getNestedList();
assertThat(list, instanceOf(LazyBindingList.class));
// Equality does all the right things to check happy paths
assertEquals(expected.getNestedList(), list);
assertEquals(expected.getNestedList().hashCode(), list.hashCode());
// Make sure the list performs proper caching
assertSame(list.get(LazyBindingList.LAZY_CUTOFF), list.get(LazyBindingList.LAZY_CUTOFF));
// Test throws, just for completeness' sake
assertThrows(UnsupportedOperationException.class, () -> list.add(null));
assertThrows(UnsupportedOperationException.class, () -> list.addAll(null));
assertThrows(UnsupportedOperationException.class, () -> list.addAll(0, null));
assertThrows(UnsupportedOperationException.class, () -> list.remove(null));
assertThrows(UnsupportedOperationException.class, () -> list.removeAll(null));
assertThrows(UnsupportedOperationException.class, () -> list.replaceAll(null));
assertThrows(UnsupportedOperationException.class, () -> list.retainAll(null));
assertThrows(UnsupportedOperationException.class, () -> list.sort(null));
assertThrows(UnsupportedOperationException.class, () -> list.clear());
}
Aggregations