1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration2.builder;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertSame;
21 import static org.mockito.Mockito.mock;
22
23 import java.util.Map;
24
25 import org.apache.commons.configuration2.beanutils.BeanHelper;
26 import org.apache.commons.configuration2.tree.ExpressionEngine;
27 import org.junit.jupiter.api.BeforeEach;
28 import org.junit.jupiter.api.Test;
29
30
31
32
33 public class TestHierarchicalBuilderParametersImpl {
34
35
36 private HierarchicalBuilderParametersImpl params;
37
38 @BeforeEach
39 public void setUp() throws Exception {
40 params = new HierarchicalBuilderParametersImpl();
41 }
42
43
44
45
46 @Test
47 void testBeanPropertiesAccess() throws Exception {
48 final ExpressionEngine engine = mock(ExpressionEngine.class);
49 BeanHelper.setProperty(params, "expressionEngine", engine);
50 BeanHelper.setProperty(params, "throwExceptionOnMissing", Boolean.TRUE);
51 final Map<String, Object> map = params.getParameters();
52 assertSame(engine, map.get("expressionEngine"));
53 assertEquals(Boolean.TRUE, map.get("throwExceptionOnMissing"));
54 }
55
56
57
58
59 @Test
60 void testInheritFrom() {
61 final ExpressionEngine engine = mock(ExpressionEngine.class);
62 final HierarchicalBuilderParametersImpl params = new HierarchicalBuilderParametersImpl();
63 params.setExpressionEngine(engine);
64 params.setThrowExceptionOnMissing(true);
65 final HierarchicalBuilderParametersImpl params2 = new HierarchicalBuilderParametersImpl();
66
67 params2.inheritFrom(params.getParameters());
68 final Map<String, Object> parameters = params2.getParameters();
69 assertEquals(Boolean.TRUE, parameters.get("throwExceptionOnMissing"));
70 assertEquals(engine, parameters.get("expressionEngine"));
71 }
72
73
74
75
76 @Test
77 void testSetExpressionEngine() {
78 final ExpressionEngine engine = mock(ExpressionEngine.class);
79 assertSame(params, params.setExpressionEngine(engine));
80 assertSame(engine, params.getParameters().get("expressionEngine"));
81 }
82 }