Cache reflection operations in AbstractSchemaAwareTest
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / test / java / org / opendaylight / controller / md / sal / binding / impl / test / Bug2562DeserializedUnkeyedListTest.java
index 57d390b176aa8a8f15d29fa0c918bd813fef7a34..bb3fbc2448649e68315c740ed8b52539adb02fa2 100644 (file)
@@ -5,20 +5,16 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.controller.md.sal.binding.impl.test;
 
 package org.opendaylight.controller.md.sal.binding.impl.test;
 
-import static org.junit.Assert.assertNotNull;
-import static org.opendaylight.controller.md.sal.binding.test.AssertCollections.assertContains;
-import static org.opendaylight.controller.md.sal.binding.test.AssertCollections.assertEmpty;
-
-import java.util.ArrayList;
+import com.google.common.collect.ImmutableSet;
+import java.util.Arrays;
+import java.util.Set;
 import org.junit.Test;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.junit.Test;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
-import org.opendaylight.controller.md.sal.binding.test.AbstractDataChangeListenerTest;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
+import org.opendaylight.controller.md.sal.binding.test.AbstractDataTreeChangeListenerTest;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.Root;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.RootBuilder;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.Fooroot;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.Root;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.RootBuilder;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.Fooroot;
@@ -26,36 +22,30 @@ import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.Barroot;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.BarrootBuilder;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.BarrootKey;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.Barroot;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.BarrootBuilder;
 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.BarrootKey;
-import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 
 
-public class Bug2562DeserializedUnkeyedListTest extends AbstractDataChangeListenerTest {
+public class Bug2562DeserializedUnkeyedListTest extends AbstractDataTreeChangeListenerTest {
     private static final InstanceIdentifier<Root> ROOT_PATH = InstanceIdentifier.create(Root.class);
 
     private static final InstanceIdentifier<Root> ROOT_PATH = InstanceIdentifier.create(Root.class);
 
-    private void writeRoot(final LogicalDatastoreType store) {
-        final ReadWriteTransaction readWriteTransaction = getDataBroker().newReadWriteTransaction();
-        final Barroot barRoot = new BarrootBuilder().setType(2).setValue(2).setKey(new BarrootKey(2)).build();
-        final ArrayList<Barroot> barRootList = new ArrayList<>();
-        barRootList.add(barRoot);
-        final Fooroot fooRoot = new FoorootBuilder().setBarroot(barRootList).build();
-        final ArrayList<Fooroot> fooRootList = new ArrayList<>();
-        fooRootList.add(fooRoot);
-        final Root root = new RootBuilder().setFooroot(fooRootList).build();
-
-        readWriteTransaction.put(store, ROOT_PATH, root);
-        assertCommit(readWriteTransaction.submit());
+    @Override
+    protected Set<YangModuleInfo> getModuleInfos() throws Exception {
+        return ImmutableSet.of(BindingReflections.getModuleInfo(Root.class));
     }
 
     @Test
     public void writeListToList2562Root() {
     }
 
     @Test
     public void writeListToList2562Root() {
-        final AbstractDataChangeListenerTest.TestListener listenerRoot =
-            createListener(LogicalDatastoreType.CONFIGURATION, ROOT_PATH, AsyncDataBroker.DataChangeScope.ONE, false);
-        writeRoot(LogicalDatastoreType.CONFIGURATION);
-        final AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> eventRoot = listenerRoot.event();
+        final Barroot barRoot = new BarrootBuilder().setType(2).setValue(2).withKey(new BarrootKey(2)).build();
+        final Fooroot fooRoot = new FoorootBuilder().setBarroot(Arrays.asList(barRoot)).build();
+        final Root root = new RootBuilder().setFooroot(Arrays.asList(fooRoot)).build();
+
+        final TestListener<Root> listenerRoot = createListener(LogicalDatastoreType.CONFIGURATION, ROOT_PATH,
+                added(ROOT_PATH, root));
+
+        final ReadWriteTransaction readWriteTransaction = getDataBroker().newReadWriteTransaction();
+        readWriteTransaction.put(LogicalDatastoreType.CONFIGURATION, ROOT_PATH, root);
+        assertCommit(readWriteTransaction.submit());
 
 
-        assertContains(eventRoot.getCreatedData(), ROOT_PATH);
-        assertEmpty(eventRoot.getUpdatedData());
-        assertEmpty(eventRoot.getRemovedPaths());
-        assertNotNull(eventRoot.toString());
+        listenerRoot.verify();
     }
 }
     }
 }