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 private static ImmutableNode root;
35
36 @BeforeAll
37 public static void setUpBeforeClass() throws Exception {
38 root = new ImmutableNode.Builder().name("ROOT").create();
39 }
40
41
42 private NodeHandler<ImmutableNode> parentHandler;
43
44
45 private TrackedNodeHandler handler;
46
47 @BeforeEach
48 @SuppressWarnings("unchecked")
49 public void setUp() throws Exception {
50 parentHandler = mock(NodeHandler.class);
51 handler = new TrackedNodeHandler(root, parentHandler);
52 }
53
54
55
56
57 @Test
58 public void testGetParent() {
59 final ImmutableNode node = new ImmutableNode.Builder().name("node").create();
60 final ImmutableNode parent = new ImmutableNode.Builder().name("parent").create();
61
62 when(parentHandler.getParent(node)).thenReturn(parent);
63
64 assertSame(parent, handler.getParent(node));
65
66 verify(parentHandler).getParent(node);
67 verifyNoMoreInteractions(parentHandler);
68 }
69
70
71
72
73 @Test
74 public void testGetRootNode() {
75 assertSame(root, handler.getRootNode());
76 }
77 }