1 package org.opendaylight.groupbasedpolicy.renderer.faas.test;
3 import static org.mockito.Mockito.mock;
4 import static org.mockito.Mockito.when;
6 import java.util.HashMap;
7 import java.util.HashSet;
11 import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
12 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
13 import org.opendaylight.yangtools.yang.binding.DataObject;
14 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
16 public class DataChangeListenerTester {
18 private AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> changeMock;
19 private DataChangeListener listener;
21 private Map<InstanceIdentifier<?>, DataObject> testData;
22 private Set<InstanceIdentifier<?>> removedPaths;
24 @SuppressWarnings("unchecked")
25 public DataChangeListenerTester(DataChangeListener listener) {
26 changeMock = mock(AsyncDataChangeEvent.class);
27 testData = new HashMap<>();
28 removedPaths = new HashSet<>();
30 this.listener = listener;
32 when(changeMock.getCreatedData()).thenReturn(testData);
33 when(changeMock.getOriginalData()).thenReturn(testData);
34 when(changeMock.getUpdatedData()).thenReturn(testData);
35 when(changeMock.getRemovedPaths()).thenReturn(removedPaths);
38 public AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> getChangeMock() {
42 public DataChangeListenerTester setDataObject(InstanceIdentifier<? extends DataObject> iid, DataObject dataObject){
44 return addDataObject(iid, dataObject);
47 public DataChangeListenerTester addDataObject(InstanceIdentifier<? extends DataObject> iid, DataObject dataObject){
48 testData.put(iid, dataObject);
52 public DataChangeListenerTester setRemovedPath(InstanceIdentifier<? extends DataObject> iid){
54 return addRemovedPath(iid);
57 public DataChangeListenerTester addRemovedPath(InstanceIdentifier<? extends DataObject> iid){
58 removedPaths.add(iid);
62 public void callOnDataChanged(){
63 listener.onDataChanged(changeMock);