source: issuevalue/src/test/java/geniusweb/issuevalue/DiscreteValueSetTest.java@ 32

Last change on this file since 32 was 32, checked in by bart, 3 years ago

Multiple learns with repeated tournament, maven use https.

File size: 3.8 KB
Line 
1package geniusweb.issuevalue;
2
3import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.assertFalse;
5import static org.junit.Assert.assertTrue;
6
7import java.io.IOException;
8import java.math.BigInteger;
9import java.util.Arrays;
10import java.util.Collection;
11import java.util.Iterator;
12import java.util.List;
13
14import org.junit.Test;
15
16import com.fasterxml.jackson.core.JsonParseException;
17import com.fasterxml.jackson.core.JsonProcessingException;
18import com.fasterxml.jackson.databind.JsonMappingException;
19import com.fasterxml.jackson.databind.ObjectMapper;
20
21import geniusweb.issuevalue.DiscreteValue;
22import geniusweb.issuevalue.DiscreteValueSet;
23
24public class DiscreteValueSetTest {
25
26 private static final DiscreteValue A = new DiscreteValue("a");
27 private static final DiscreteValue A1 = new DiscreteValue("a");
28 private static final DiscreteValue B = new DiscreteValue("b");
29 private final static List<DiscreteValue> values = Arrays.asList(A, B);
30 private final static Collection<DiscreteValue> valuesReverse = Arrays
31 .asList(B, A);
32
33 private static final DiscreteValueSet set = new DiscreteValueSet(values);
34 private static final DiscreteValueSet setReverse = new DiscreteValueSet(
35 valuesReverse);
36 private static final String asString = "{\"values\":[\"a\",\"b\"]}";
37 // private static final String asString = "{\"discreteset\":[\"a\",\"b\"]}";
38 private static final String asString1 = "[\"a\",\"b\"]";
39
40 // SPECIAL. note that the "numbers" have no leading "=" and therefore are
41 // parsed as discrete values.
42 private static final String discretenumbers = "{\"values\":[\"0\",\"1\"]}";
43
44 @Test
45 public void testSerialize() throws JsonProcessingException {
46 ObjectMapper jackson = new ObjectMapper();
47
48 String json = jackson.writeValueAsString(set);
49 System.out.println(json);
50 assertEquals(asString, json);
51 }
52
53 @Test
54 public void testDeserialize()
55 throws JsonParseException, JsonMappingException, IOException {
56 ObjectMapper jackson = new ObjectMapper();
57 DiscreteValueSet p = jackson.readValue(asString,
58 DiscreteValueSet.class);
59 System.out.println(p);
60 assertEquals(set, p);
61 }
62
63 @Test
64 public void testDeserializeNumberValues()
65 throws JsonParseException, JsonMappingException, IOException {
66 ObjectMapper jackson = new ObjectMapper();
67 DiscreteValueSet p = jackson.readValue(discretenumbers,
68 DiscreteValueSet.class);
69 System.out.println(p);
70 assertEquals("0", p.get(BigInteger.ZERO).getValue()); // not the number
71 // but string
72 assertEquals("1", p.get(BigInteger.ONE).getValue());
73 }
74
75 @Test
76 public void testEquality() {
77 assertEquals(set, setReverse);
78 }
79
80 @Test
81 public void testHashCodeInsensitiveToOrder() {
82 assertEquals(set.hashCode(), setReverse.hashCode());
83 }
84
85 @Test
86 public void testSize() {
87 assertEquals(new BigInteger("2"), set.size());
88 }
89
90 @Test
91 public void testGet() {
92 assertEquals(A, set.get(0));
93 assertEquals(B, set.get(1));
94 assertEquals(A, set.get(BigInteger.ZERO));
95 assertEquals(B, set.get(BigInteger.ONE));
96 }
97
98 @Test
99 public void getValuesTest() {
100 assertEquals(values, set.getValues());
101 }
102
103 @Test
104 public void testConstructor2() {
105 assertEquals(set, new DiscreteValueSet(A, B));
106 }
107
108 @Test
109 public void containsTest() {
110 assertTrue(set.contains(A));
111 assertTrue(set.contains(A1));
112 assertTrue(set.contains(B));
113 assertFalse(set.contains(new DiscreteValue("c")));
114 assertFalse(set.contains(null));
115 }
116
117 @Test
118 public void iteratorTest1() {
119 Iterator<DiscreteValue> it = set.iterator();
120 assertTrue(it.hasNext());
121 assertEquals(A, it.next());
122 assertTrue(it.hasNext());
123 assertEquals(B, it.next());
124 assertFalse(it.hasNext());
125
126 }
127
128 @Test
129 public void iteratorTest2() {
130 Iterator<DiscreteValue> it = setReverse.iterator();
131 assertTrue(it.hasNext());
132 assertEquals(B, it.next());
133 assertTrue(it.hasNext());
134 assertEquals(A, it.next());
135 assertFalse(it.hasNext());
136
137 }
138
139}
Note: See TracBrowser for help on using the repository browser.