source: bidspace/src/test/java/geniusweb/bidspace/AllBidsListTest.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: 3.0 KB
Line 
1package geniusweb.bidspace;
2
3import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.assertFalse;
5import static org.junit.Assert.assertTrue;
6
7import java.math.BigDecimal;
8import java.math.BigInteger;
9import java.util.Collection;
10import java.util.HashMap;
11import java.util.Iterator;
12import java.util.LinkedList;
13import java.util.Map;
14
15import org.junit.Test;
16
17import geniusweb.bidspace.AllBidsList;
18import geniusweb.issuevalue.Bid;
19import geniusweb.issuevalue.DiscreteValue;
20import geniusweb.issuevalue.DiscreteValueSet;
21import geniusweb.issuevalue.Domain;
22import geniusweb.issuevalue.NumberValue;
23import geniusweb.issuevalue.NumberValueSet;
24import geniusweb.issuevalue.ValueSet;
25
26public class AllBidsListTest {
27 private static final DiscreteValue I1V2 = new DiscreteValue("i1v2");
28 private static final DiscreteValue I1V1 = new DiscreteValue("i1v1");
29 private static final NumberValue I2V1 = new NumberValue("2.00");
30 private static final NumberValue I2V2 = new NumberValue("2.45");
31 private static final NumberValue I2V3 = new NumberValue("2.90");
32 private static final String DOMAINNAME = "testdomain";
33 private static final String ISSUE1 = "issue1";
34 private static final String ISSUE2 = "issue2";
35 private static final Map<String, ValueSet> issues = new HashMap<>();
36
37 private static final ValueSet values1;
38 private static final ValueSet values2;
39 private static final BigDecimal TWO = new BigDecimal("2");
40 private static final BigDecimal THREE = new BigDecimal("3");
41
42 private static final Domain domain;
43
44 private static final AllBidsList allBidsList;
45
46 static {
47 Collection<DiscreteValue> discretevalues1 = new LinkedList<>();
48 discretevalues1.add(I1V1);
49 discretevalues1.add(I1V2);
50 values1 = new DiscreteValueSet(discretevalues1);
51 issues.put(ISSUE1, values1);
52
53 values2 = new NumberValueSet(TWO, THREE, new BigDecimal("0.45"));
54 issues.put(ISSUE2, values2);
55
56 domain = new Domain(DOMAINNAME, issues);
57 allBidsList = new AllBidsList(domain);
58
59 }
60
61 @Test
62 public void testListElements() {
63 assertEquals(new BigInteger("6"), allBidsList.size());
64 checkBid(allBidsList.get(0), I1V1, I2V1);
65 checkBid(allBidsList.get(1), I1V1, I2V2);
66 checkBid(allBidsList.get(2), I1V1, I2V3);
67 checkBid(allBidsList.get(3), I1V2, I2V1);
68 checkBid(allBidsList.get(4), I1V2, I2V2);
69 checkBid(allBidsList.get(5), I1V2, I2V3);
70
71 }
72
73 @Test
74 public void testiterator() {
75 Iterator<Bid> iterator = allBidsList.iterator();
76 checkNext(iterator, I1V1, I2V1);
77 checkNext(iterator, I1V1, I2V2);
78 checkNext(iterator, I1V1, I2V3);
79 checkNext(iterator, I1V2, I2V1);
80 checkNext(iterator, I1V2, I2V2);
81 checkNext(iterator, I1V2, I2V3);
82 assertFalse(iterator.hasNext());
83 }
84
85 private void checkNext(Iterator<Bid> iterator, DiscreteValue value1, NumberValue value2) {
86 assertTrue(iterator.hasNext());
87 checkBid(iterator.next(), value1, value2);
88 }
89
90 private void checkBid(Bid bid, DiscreteValue value1, NumberValue value2) {
91 assertEquals(value1, bid.getValue(ISSUE1));
92 assertEquals(value2, bid.getValue(ISSUE2));
93 }
94}
Note: See TracBrowser for help on using the repository browser.