source: references/src/test/java/geniusweb/references/ParametersTest.java@ 52

Last change on this file since 52 was 52, checked in by ruud, 14 months ago

Fixed small issues in domaineditor.

File size: 2.6 KB
Line 
1package geniusweb.references;
2
3import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.assertFalse;
5import static org.junit.Assert.assertTrue;
6
7import java.util.Arrays;
8import java.util.List;
9
10import org.junit.Test;
11
12import tudelft.utilities.junit.GeneralTests;
13
14public class ParametersTest extends GeneralTests<Parameters> {
15
16 private final Parameters params1 = new Parameters();
17 private final Parameters params1a = new Parameters();
18 private final Parameters params2 = new Parameters().with("a", 1).with("b",
19 2d);
20
21 @Override
22 public List<List<Parameters>> getGeneralTestData() {
23 return Arrays.asList(Arrays.asList(params1, params1a),
24 Arrays.asList(params2));
25 }
26
27 @Override
28 public List<String> getGeneralTestStrings() {
29 return Arrays.asList("\\{\\}", "\\{a=1, b=2.0\\}");
30 }
31
32 @Test(expected = IllegalArgumentException.class)
33 public void getWrongClass() {
34 params2.get("a", String.class);
35 }
36
37 @Test
38 public void getInteger() {
39 assertEquals((Integer) 1, params2.get("a", Integer.class));
40 assertEquals((Double) 2d, params2.get("b", Double.class));
41 }
42
43 @Test
44 public void getDouble() {
45 assertEquals((Double) 2d, params2.getDouble("b", 7d, null, null));
46 assertEquals((Double) 2d, params2.getDouble("b", 7d, 0d, 4d));
47
48 // test outside range
49 assertEquals((Double) 7d, params2.getDouble("b", 7d, 4d, 6d));
50 assertEquals((Double) 7d, params2.getDouble("b", 7d, -2d, 1d));
51
52 // test fallback null
53 assertEquals(null, params2.getDouble("b", null, 4d, 6d));
54
55 // a is integer!
56 assertEquals((Double) 1d, params2.getDouble("a", 0d, -0d, 2d));
57
58 }
59
60 @Test
61 public void getDoubleWithErrors() {
62 // a does not contain a double
63 assertEquals((Double) 7d, params2.getDouble("a", 7d, 4d, 6d));
64 // c does not exist
65 assertEquals((Double) 7d, params2.getDouble("c", 7d, 4d, 6d));
66
67 // a=1, which is outside [min, max]. Therefore default value should be
68 // returned.
69 assertEquals(null, params2.getDouble("a", null, 2d, 3d));
70
71 }
72
73 @Test
74 public void withTest() {
75 Parameters p = params2.with("a", 2);
76 assertEquals(1, params2.get("a"));
77 assertEquals(2d, params2.get("b"));
78 assertEquals(2, p.get("a"));
79 assertEquals(2d, p.get("b"));
80 }
81
82 @Test
83 public void withParamsTest() {
84 Parameters upd = new Parameters().with("a", 2);
85 Parameters p = params2.with(upd);
86 assertEquals(1, params2.get("a"));
87 assertEquals(2d, params2.get("b"));
88 assertEquals(2, p.get("a"));
89 assertEquals(2d, p.get("b"));
90 }
91
92 @Test
93 public void isEmptyTest() {
94 assertTrue(params1.isEmpty());
95 assertFalse(params2.isEmpty());
96 }
97
98 @Test
99 public void containsKeyTest() {
100 assertTrue(params2.containsKey("a"));
101 assertFalse(params2.containsKey("c"));
102 }
103}
Note: See TracBrowser for help on using the repository browser.