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.spi.shard;
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;
16 import com.google.common.collect.ImmutableList;
17 import org.junit.After;
18 import org.junit.Test;
19 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
21 public class DelegatingWriteCursorStrategyTest extends DelegatingWriteCursorStrategy {
24 public void basicTest() throws Exception {
25 doReturn("TestPathArgument").when(TestUtils.PATH_ARGUMENT).toString();
26 assertEquals(this, this.childStrategy());
28 doNothing().when(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).enter(TestUtils.PATH_ARGUMENT);
29 this.enter(TestUtils.PATH_ARGUMENT);
30 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).enter(TestUtils.PATH_ARGUMENT);
32 doNothing().when(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).delete(TestUtils.PATH_ARGUMENT);
33 this.delete(TestUtils.PATH_ARGUMENT);
34 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).delete(TestUtils.PATH_ARGUMENT);
36 doNothing().when(TestUtils.DOM_DATA_TREE_WRITE_CURSOR)
37 .merge(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
38 this.merge(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
39 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).merge(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
41 doReturn(ImmutableList.of(TestUtils.NORMALIZED_NODE)).when(TestUtils.NORMALIZED_NODE_CONTAINER).getValue();
42 doReturn(TestUtils.PATH_ARGUMENT).when(TestUtils.NORMALIZED_NODE).getIdentifier();
43 this.mergeToCurrent(TestUtils.NORMALIZED_NODE_CONTAINER);
44 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR, times(2))
45 .merge(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
47 doNothing().when(TestUtils.DOM_DATA_TREE_WRITE_CURSOR)
48 .write(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
49 this.write(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
50 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).write(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
52 this.writeToCurrent(TestUtils.NORMALIZED_NODE_CONTAINER);
53 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR, times(2))
54 .write(TestUtils.PATH_ARGUMENT, TestUtils.NORMALIZED_NODE);
56 doNothing().when(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).exit();
58 verify(TestUtils.DOM_DATA_TREE_WRITE_CURSOR).exit();
62 protected DOMDataTreeWriteCursor delegate() {
63 return TestUtils.DOM_DATA_TREE_WRITE_CURSOR;
68 TestUtils.resetMocks();