1 | package negotiator;
|
---|
2 |
|
---|
3 | import static org.junit.Assert.assertEquals;
|
---|
4 | import static org.junit.Assert.assertFalse;
|
---|
5 | import static org.junit.Assert.assertNotNull;
|
---|
6 | import static org.junit.Assert.assertTrue;
|
---|
7 |
|
---|
8 | import org.junit.Test;
|
---|
9 |
|
---|
10 | import genius.core.Bid;
|
---|
11 | import genius.core.Domain;
|
---|
12 | import genius.core.DomainImpl;
|
---|
13 |
|
---|
14 | public class DomainImplTest {
|
---|
15 |
|
---|
16 | private static final String DISCRETEDOMAIN = "src/test/resources/partydomain/party_domain.xml";
|
---|
17 | private static final String INTEGERDOMAIN = "src/test/resources/IntegerDomain/IntegerDomain.xml";
|
---|
18 | private static final String REALDOMAIN = "src/test/resources/2nd_hand_car/car_domain.xml";
|
---|
19 | private static final String NONLINEARDOMAIN = "src/test/resources/S-1NIKFRT-1/S-1NIKFRT-1-domain.xml";
|
---|
20 |
|
---|
21 | private static final String[] testNames = new String[] { DISCRETEDOMAIN, INTEGERDOMAIN, NONLINEARDOMAIN,
|
---|
22 | REALDOMAIN };
|
---|
23 |
|
---|
24 | @Test
|
---|
25 | public void testDefaultConstructor() {
|
---|
26 | Domain domain = new DomainImpl();
|
---|
27 |
|
---|
28 | assertNotNull(domain.getName());
|
---|
29 | assertTrue(domain.getIssues().isEmpty());
|
---|
30 | assertNotNull(domain.getObjectivesRoot());
|
---|
31 | assertEquals(0, domain.getNumberOfPossibleBids());
|
---|
32 | assertEquals(1, domain.getObjectives().size());
|
---|
33 | Bid bid = domain.getRandomBid(null);
|
---|
34 | assertTrue(bid.getIssues().isEmpty());
|
---|
35 | assertTrue(bid.getValues().isEmpty());
|
---|
36 | }
|
---|
37 |
|
---|
38 | @Test
|
---|
39 | public void testLoadFileDiscreteDomain() throws Exception {
|
---|
40 | Domain domain = new DomainImpl(DISCRETEDOMAIN);
|
---|
41 | assertEquals(DISCRETEDOMAIN, domain.getName());
|
---|
42 | assertEquals(6, domain.getIssues().size());
|
---|
43 | assertNotNull(domain.getObjectivesRoot());
|
---|
44 | assertEquals(3072, domain.getNumberOfPossibleBids());
|
---|
45 | // root objective adds 1 to the number of issues.
|
---|
46 | assertEquals(7, domain.getObjectives().size());
|
---|
47 | Bid bid = domain.getRandomBid(null);
|
---|
48 | assertEquals(6, bid.getIssues().size());
|
---|
49 | assertEquals(6, bid.getValues().size());
|
---|
50 |
|
---|
51 | }
|
---|
52 |
|
---|
53 | @Test
|
---|
54 | public void testLoadFileIntegerDomain() throws Exception {
|
---|
55 | Domain domain = new DomainImpl(INTEGERDOMAIN);
|
---|
56 | assertEquals(INTEGERDOMAIN, domain.getName());
|
---|
57 | assertEquals(2, domain.getIssues().size());
|
---|
58 | assertNotNull(domain.getObjectivesRoot());
|
---|
59 | assertEquals(121, domain.getNumberOfPossibleBids());
|
---|
60 | // root objective adds 1 to the number of issues.
|
---|
61 | assertEquals(3, domain.getObjectives().size());
|
---|
62 | Bid bid = domain.getRandomBid(null);
|
---|
63 | assertEquals(2, bid.getIssues().size());
|
---|
64 | assertEquals(2, bid.getValues().size());
|
---|
65 |
|
---|
66 | }
|
---|
67 |
|
---|
68 | @Test
|
---|
69 | public void testLoadFileRealDomain() throws Exception {
|
---|
70 | Domain domain = new DomainImpl(REALDOMAIN);
|
---|
71 | assertEquals(REALDOMAIN, domain.getName());
|
---|
72 | assertEquals(5, domain.getIssues().size());
|
---|
73 | assertNotNull(domain.getObjectivesRoot());
|
---|
74 | assertEquals(13125, domain.getNumberOfPossibleBids());
|
---|
75 | // root objective adds 1 to the number of issues.
|
---|
76 | assertEquals(6, domain.getObjectives().size());
|
---|
77 | Bid bid = domain.getRandomBid(null);
|
---|
78 | assertEquals(5, bid.getIssues().size());
|
---|
79 | assertEquals(5, bid.getValues().size());
|
---|
80 |
|
---|
81 | }
|
---|
82 |
|
---|
83 | @Test
|
---|
84 | public void testLoadFileNonlinearDomain() throws Exception {
|
---|
85 | Domain domain = new DomainImpl(NONLINEARDOMAIN);
|
---|
86 | assertEquals(NONLINEARDOMAIN, domain.getName());
|
---|
87 | assertEquals(10, domain.getIssues().size());
|
---|
88 | assertNotNull(domain.getObjectivesRoot());
|
---|
89 | assertEquals(10000000000l, domain.getNumberOfPossibleBids());
|
---|
90 | // root objective adds 1 to the number of issues.
|
---|
91 | assertEquals(11, domain.getObjectives().size());
|
---|
92 | Bid bid = domain.getRandomBid(null);
|
---|
93 | assertEquals(10, bid.getIssues().size());
|
---|
94 | assertEquals(10, bid.getValues().size());
|
---|
95 |
|
---|
96 | }
|
---|
97 |
|
---|
98 | @Test
|
---|
99 | public void testEquals() throws Exception {
|
---|
100 | DomainImpl emptydomain = new DomainImpl();
|
---|
101 | for (String filename : testNames) {
|
---|
102 | Domain domain = new DomainImpl(filename);
|
---|
103 | Domain domain2 = new DomainImpl(filename);
|
---|
104 | assertEquals(domain, domain);
|
---|
105 | assertEquals(domain, domain2);
|
---|
106 | assertFalse(domain.equals(null));
|
---|
107 | assertFalse(domain.equals(1));
|
---|
108 | assertFalse(domain.equals(emptydomain));
|
---|
109 | }
|
---|
110 |
|
---|
111 | }
|
---|
112 |
|
---|
113 | }
|
---|