source: party/src/test/java/geniusweb/party/CapabilitiesTest.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.9 KB
Line 
1package geniusweb.party;
2
3import static org.junit.Assert.assertEquals;
4
5import java.io.IOException;
6import java.net.URISyntaxException;
7import java.util.Arrays;
8import java.util.Collections;
9import java.util.List;
10
11import org.junit.Before;
12import org.junit.Test;
13import org.mockito.internal.util.collections.Sets;
14
15import com.fasterxml.jackson.core.JsonParseException;
16import com.fasterxml.jackson.core.JsonProcessingException;
17import com.fasterxml.jackson.databind.JsonMappingException;
18import com.fasterxml.jackson.databind.ObjectMapper;
19
20import geniusweb.profile.PartialOrdering;
21import geniusweb.profile.utilityspace.LinearAdditive;
22import tudelft.utilities.junit.GeneralTests;
23
24public class CapabilitiesTest extends GeneralTests<Capabilities> {
25
26 private Capabilities capabilities1, capabilities1a, capabilities2,
27 capabilities3, capabilities4;
28 private String asJson = "{\"behaviours\":[\"SAOP\"],\"profiles\":[\"geniusweb.profile.utilityspace.LinearAdditive\"]}";
29
30 @Before
31 public void before() throws URISyntaxException {
32 capabilities1 = new Capabilities(Sets.newSet("SAOP"),
33 Collections.singleton(LinearAdditive.class));
34 capabilities1a = new Capabilities(Sets.newSet("SAOP"),
35 Collections.singleton(LinearAdditive.class));
36 capabilities2 = new Capabilities(Sets.newSet("SEB"),
37 Collections.singleton(LinearAdditive.class));
38 capabilities3 = new Capabilities(Sets.newSet("SEB", "SAOP"),
39 Collections.singleton(LinearAdditive.class));
40 capabilities4 = new Capabilities(Sets.newSet("SAOP"),
41 Collections.singleton(PartialOrdering.class));
42
43 }
44
45 @Override
46 public List<List<Capabilities>> getGeneralTestData() {
47 return Arrays.asList(Arrays.asList(capabilities1, capabilities1a),
48 Arrays.asList(capabilities2), Arrays.asList(capabilities3),
49 Arrays.asList(capabilities4));
50 }
51
52 @Override
53 public List<String> getGeneralTestStrings() {
54 return Arrays.asList(
55 "Capabilities.*geniusweb.profile.utilityspace.LinearAdditive.*SAOP.*",
56 "Capabilities.*geniusweb.profile.utilityspace.LinearAdditive.*SEB.*",
57 "Capabilities.*geniusweb.profile.utilityspace.LinearAdditive.*SEB.*SAOP.*",
58 "Capabilities.*geniusweb.profile.PartialOrdering.*SAOP.*");
59 }
60
61 @Test(expected = IllegalArgumentException.class)
62 public void nullTest() throws URISyntaxException {
63 new Capabilities(null, Collections.singleton(LinearAdditive.class));
64 }
65
66 @Test
67 public void testSerialize() throws JsonProcessingException {
68 ObjectMapper jackson = new ObjectMapper();
69
70 String json = jackson.writeValueAsString(capabilities1);
71 System.out.println(json);
72 assertEquals(asJson, json);
73 }
74
75 @Test
76 public void testDeserialize()
77 throws JsonParseException, JsonMappingException, IOException {
78 ObjectMapper jackson = new ObjectMapper();
79 Capabilities p = jackson.readValue(asJson, Capabilities.class);
80 System.out.println(p);
81 assertEquals(capabilities1, p);
82 }
83
84 @Test
85 public void behaviours() {
86 assertEquals(Sets.newSet("SEB", "SAOP"), capabilities3.getBehaviours());
87 }
88
89}
Note: See TracBrowser for help on using the repository browser.