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.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertNotEquals;
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import org.junit.jupiter.api.Test;
24
25
26
27
28 public class TestDefaultExpressionEngineSymbols {
29
30
31
32
33
34 private static DefaultExpressionEngineSymbols.Builder builder() {
35 return new DefaultExpressionEngineSymbols.Builder(DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS);
36 }
37
38
39
40
41
42
43
44 private static void expEqual(final Object o1, final Object o2) {
45 assertEquals(o1, o2);
46 assertEquals(o2, o1);
47 assertEquals(o1.hashCode(), o2.hashCode());
48 }
49
50
51
52
53
54
55
56 private static void expNE(final Object o1, final Object o2) {
57 assertNotEquals(o1, o2);
58 if (o2 != null) {
59 assertNotEquals(o2, o1);
60 }
61 }
62
63
64
65
66 @Test
67 void testDefaultSymbols() {
68 assertEquals(".", DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS.getPropertyDelimiter());
69 assertEquals("..", DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS.getEscapedDelimiter());
70 assertEquals("(", DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS.getIndexStart());
71 assertEquals(")", DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS.getIndexEnd());
72 assertEquals("[@", DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS.getAttributeStart());
73 assertEquals("]", DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS.getAttributeEnd());
74 }
75
76
77
78
79 @Test
80 void testEqualsFalse() {
81 final DefaultExpressionEngineSymbols s1 = DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS;
82 DefaultExpressionEngineSymbols s2 = builder().setPropertyDelimiter("/").create();
83 expNE(s1, s2);
84 s2 = builder().setEscapedDelimiter("\\.").create();
85 expNE(s1, s2);
86 s2 = builder().setIndexStart("[").create();
87 expNE(s1, s2);
88 s2 = builder().setIndexEnd("]").create();
89 expNE(s1, s2);
90 s2 = builder().setAttributeStart("#").create();
91 expNE(s1, s2);
92 s2 = builder().setAttributeEnd("~").create();
93 expNE(s1, s2);
94 }
95
96
97
98
99 @Test
100 void testEqualsNull() {
101 expNE(builder().create(), null);
102 }
103
104
105
106
107 @Test
108 void testEqualsOtherClass() {
109 expNE(builder().create(), this);
110 }
111
112
113
114
115 @Test
116 void testEqualsTrue() {
117 expEqual(DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS, DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS);
118 final DefaultExpressionEngineSymbols s2 = new DefaultExpressionEngineSymbols.Builder(DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS).create();
119 expEqual(DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS, s2);
120 }
121
122
123
124
125 @Test
126 void testToString() {
127 final DefaultExpressionEngineSymbols symbols = builder().create();
128 final String s = symbols.toString();
129 assertTrue(s.contains("propertyDelimiter=" + symbols.getPropertyDelimiter()));
130 assertTrue(s.contains("escapedDelimiter=" + symbols.getEscapedDelimiter()));
131 assertTrue(s.contains("indexStart=" + symbols.getIndexStart()));
132 assertTrue(s.contains("indexEnd=" + symbols.getIndexEnd()));
133 assertTrue(s.contains("attributeStart=" + symbols.getAttributeStart()));
134 assertTrue(s.contains("attributeEnd=" + symbols.getAttributeEnd()));
135 }
136 }