+ final MockDataTreeChangeListener listener = new MockDataTreeChangeListener(1);
+
+ ListenerRegistration<MockDataTreeChangeListener> listenerReg = dataStore
+ .registerTreeChangeListener(TestModel.TEST_PATH, listener);
+
+ assertNotNull("registerTreeChangeListener returned null", listenerReg);
+
+ IntegrationTestKit.verifyShardState(dataStore, "test-1",
+ state -> assertEquals("getTreeChangeListenerActors", 1,
+ state.getTreeChangeListenerActors().size()));
+
+ // Wait for the initial notification
+ listener.waitForChangeEvents(TestModel.TEST_PATH);
+ listener.reset(2);
+
+ // Write 2 updates.
+ testWriteTransaction(dataStore, TestModel.OUTER_LIST_PATH,
+ ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build());
+
+ YangInstanceIdentifier listPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH)
+ .nodeWithKey(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1).build();
+ testWriteTransaction(dataStore, listPath,
+ ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1));
+
+ // Wait for the 2 updates.
+ listener.waitForChangeEvents(TestModel.OUTER_LIST_PATH, listPath);