1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.jexl3.junit;
19
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21
22 import org.apache.commons.jexl3.Foo;
23 import org.apache.commons.jexl3.JexlTestCase;
24 import org.junit.jupiter.api.Test;
25
26
27
28
29 @SuppressWarnings({"UnnecessaryBoxing", "AssertEqualsBetweenInconvertibleTypes"})
30 class AsserterTest extends JexlTestCase {
31 public AsserterTest() {
32 super("AsserterTest");
33 }
34
35 @Test
36 void testThis() throws Exception {
37 final Asserter asserter = new Asserter(JEXL);
38 asserter.setVariable("this", new Foo());
39 asserter.assertExpression("this.repeat('abc')", "Repeat : abc");
40 assertThrows(AssertionError.class, () -> asserter.assertExpression("this.count", "Wrong Value"));
41 }
42
43 @Test
44 void testVariable() throws Exception {
45 final Asserter asserter = new Asserter(JEXL);
46 asserter.setSilent(true);
47 asserter.setVariable("foo", new Foo());
48 asserter.setVariable("person", "James");
49
50 asserter.assertExpression("person", "James");
51 asserter.assertExpression("size(person)", Integer.valueOf(5));
52
53 asserter.assertExpression("foo.getCount()", Integer.valueOf(5));
54 asserter.assertExpression("foo.count", Integer.valueOf(5));
55
56 assertThrows(AssertionError.class, () -> asserter.assertExpression("bar.count", Integer.valueOf(5)));
57 }
58 }