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.junit.Assert.assertFalse;
12 import static org.mockito.Mockito.doNothing;
13 import static org.mockito.Mockito.doReturn;
14 import static org.mockito.Mockito.mock;
15 import static org.mockito.Mockito.verify;
16 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.PATH_ARGUMENT;
17 import static org.opendaylight.mdsal.dom.store.inmemory.TestUtils.resetMocks;
19 import com.google.common.base.Optional;
20 import org.junit.After;
21 import org.junit.Test;
22 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
23 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshotCursor;
25 public class DelegatingReadableCursorOperationTest extends DelegatingReadableCursorOperation {
27 private static final DataTreeSnapshotCursor MOCK_CURSOR_SNAPSHOT = mock(DataTreeSnapshotCursor.class);
30 public void basicTest() throws Exception {
31 final Optional<NormalizedNode<?, ?>> nodeOptional = Optional.absent();
32 doReturn(nodeOptional).when(MOCK_CURSOR_SNAPSHOT).readNode(PATH_ARGUMENT);
33 doNothing().when(MOCK_CURSOR_SNAPSHOT).exit();
34 doNothing().when(MOCK_CURSOR_SNAPSHOT).enter(PATH_ARGUMENT);
35 doReturn("test").when(PATH_ARGUMENT).toString();
37 assertFalse(readNode(PATH_ARGUMENT).isPresent());
38 verify(MOCK_CURSOR_SNAPSHOT).readNode(PATH_ARGUMENT);
41 verify(MOCK_CURSOR_SNAPSHOT).exit();
43 assertEquals(this, enter(PATH_ARGUMENT));
44 verify(MOCK_CURSOR_SNAPSHOT).enter(PATH_ARGUMENT);
48 protected DataTreeSnapshotCursor delegate() {
49 return MOCK_CURSOR_SNAPSHOT;