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 private HierarchicalBuilderParametersImpl params;
36
37 @BeforeEach
38 public void setUp() throws Exception {
39 params = new HierarchicalBuilderParametersImpl();
40 }
41
42
43
44
45 @Test
46 public void testBeanPropertiesAccess() throws Exception {
47 final ExpressionEngine engine = mock(ExpressionEngine.class);
48 BeanHelper.setProperty(params, "expressionEngine", engine);
49 BeanHelper.setProperty(params, "throwExceptionOnMissing", Boolean.TRUE);
50 final Map<String, Object> map = params.getParameters();
51 assertSame(engine, map.get("expressionEngine"));
52 assertEquals(Boolean.TRUE, map.get("throwExceptionOnMissing"));
53 }
54
55
56
57
58 @Test
59 public void testInheritFrom() {
60 final ExpressionEngine engine = mock(ExpressionEngine.class);
61 final HierarchicalBuilderParametersImpl params = new HierarchicalBuilderParametersImpl();
62 params.setExpressionEngine(engine);
63 params.setThrowExceptionOnMissing(true);
64 final HierarchicalBuilderParametersImpl params2 = new HierarchicalBuilderParametersImpl();
65
66 params2.inheritFrom(params.getParameters());
67 final Map<String, Object> parameters = params2.getParameters();
68 assertEquals(Boolean.TRUE, parameters.get("throwExceptionOnMissing"));
69 assertEquals(engine, parameters.get("expressionEngine"));
70 }
71
72
73
74
75 @Test
76 public void testSetExpressionEngine() {
77 final ExpressionEngine engine = mock(ExpressionEngine.class);
78 assertSame(params, params.setExpressionEngine(engine));
79 assertSame(engine, params.getParameters().get("expressionEngine"));
80 }
81 }