2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.dom.store.inmemory;
10 import static org.junit.Assert.assertEquals;
11 import static org.mockito.Mockito.doNothing;
12 import static org.mockito.Mockito.doReturn;
13 import static org.mockito.Mockito.times;
14 import static org.mockito.Mockito.verify;
15 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.DOM_DATA_TREE_WRITE_CURSOR;
16 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.NORMALIZED_NODE;
17 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.NORMALIZED_NODE_CONTAINER;
18 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.PATH_ARGUMENT;
19 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.resetMocks;
21 import com.google.common.collect.ImmutableList;
22 import org.junit.After;
23 import org.junit.Test;
24 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
26 public class DelegatingWriteCursorStrategyTest extends DelegatingWriteCursorStrategy {
29 public void basicTest() throws Exception {
30 doReturn("TestPathArgument").when(PATH_ARGUMENT).toString();
31 assertEquals(this, this.childStrategy());
33 doNothing().when(DOM_DATA_TREE_WRITE_CURSOR).enter(PATH_ARGUMENT);
34 this.enter(PATH_ARGUMENT);
35 verify(DOM_DATA_TREE_WRITE_CURSOR).enter(PATH_ARGUMENT);
37 doNothing().when(DOM_DATA_TREE_WRITE_CURSOR).delete(PATH_ARGUMENT);
38 this.delete(PATH_ARGUMENT);
39 verify(DOM_DATA_TREE_WRITE_CURSOR).delete(PATH_ARGUMENT);
41 doNothing().when(DOM_DATA_TREE_WRITE_CURSOR).merge(PATH_ARGUMENT, NORMALIZED_NODE);
42 this.merge(PATH_ARGUMENT, NORMALIZED_NODE);
43 verify(DOM_DATA_TREE_WRITE_CURSOR).merge(PATH_ARGUMENT, NORMALIZED_NODE);
45 doReturn(ImmutableList.of(NORMALIZED_NODE)).when(NORMALIZED_NODE_CONTAINER).getValue();
46 doReturn(PATH_ARGUMENT).when(NORMALIZED_NODE).getIdentifier();
47 this.mergeToCurrent(NORMALIZED_NODE_CONTAINER);
48 verify(DOM_DATA_TREE_WRITE_CURSOR, times(2)).merge(PATH_ARGUMENT, NORMALIZED_NODE);
50 doNothing().when(DOM_DATA_TREE_WRITE_CURSOR).write(PATH_ARGUMENT, NORMALIZED_NODE);
51 this.write(PATH_ARGUMENT, NORMALIZED_NODE);
52 verify(DOM_DATA_TREE_WRITE_CURSOR).write(PATH_ARGUMENT, NORMALIZED_NODE);
54 this.writeToCurrent(NORMALIZED_NODE_CONTAINER);
55 verify(DOM_DATA_TREE_WRITE_CURSOR, times(2)).write(PATH_ARGUMENT, NORMALIZED_NODE);
57 doNothing().when(DOM_DATA_TREE_WRITE_CURSOR).exit();
59 verify(DOM_DATA_TREE_WRITE_CURSOR).exit();
63 protected DOMDataTreeWriteCursor delegate() {
64 return DOM_DATA_TREE_WRITE_CURSOR;