1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration2.tree;
18
19 import static org.junit.jupiter.api.Assertions.assertSame;
20 import static org.mockito.Mockito.mock;
21 import static org.mockito.Mockito.verify;
22 import static org.mockito.Mockito.verifyNoMoreInteractions;
23 import static org.mockito.Mockito.when;
24
25 import org.junit.jupiter.api.BeforeAll;
26 import org.junit.jupiter.api.BeforeEach;
27 import org.junit.jupiter.api.Test;
28
29
30
31
32 public class TestTrackedNodeHandler {
33
34
35 private static ImmutableNode root;
36
37 @BeforeAll
38 public static void setUpBeforeClass() throws Exception {
39 root = new ImmutableNode.Builder().name("ROOT").create();
40 }
41
42
43 private NodeHandler<ImmutableNode> parentHandler;
44
45
46 private TrackedNodeHandler handler;
47
48 @BeforeEach
49 @SuppressWarnings("unchecked")
50 public void setUp() throws Exception {
51 parentHandler = mock(NodeHandler.class);
52 handler = new TrackedNodeHandler(root, parentHandler);
53 }
54
55
56
57
58 @Test
59 void testGetParent() {
60 final ImmutableNode node = new ImmutableNode.Builder().name("node").create();
61 final ImmutableNode parent = new ImmutableNode.Builder().name("parent").create();
62
63 when(parentHandler.getParent(node)).thenReturn(parent);
64
65 assertSame(parent, handler.getParent(node));
66
67 verify(parentHandler).getParent(node);
68 verifyNoMoreInteractions(parentHandler);
69 }
70
71
72
73
74 @Test
75 void testGetRootNode() {
76 assertSame(root, handler.getRootNode());
77 }
78 }