1
2
3
4
5
6
7
8
9
10
11 package edu.uci.ics.jung.io.graphml.parser;
12
13 import org.junit.Assert;
14 import org.junit.Test;
15
16 import edu.uci.ics.jung.io.graphml.HyperEdgeMetadata;
17
18 public class TestHyperEdgeElementParser extends AbstractParserTest {
19
20 @Test
21 public void testEmpty() throws Exception {
22
23 String xml =
24 "<hyperedge/>";
25
26 HyperEdgeMetadata edge = (HyperEdgeMetadata) readObject(xml);
27 Assert.assertNotNull(edge);
28 Assert.assertEquals(null, edge.getId());
29 Assert.assertEquals(null, edge.getDescription());
30 Assert.assertEquals(0, edge.getEndpoints().size());
31 }
32
33 @Test
34 public void testId() throws Exception {
35
36 String xml =
37 "<hyperedge id=\"e1\"/>";
38
39 HyperEdgeMetadata edge = (HyperEdgeMetadata) readObject(xml);
40 Assert.assertNotNull(edge);
41 Assert.assertEquals("e1", edge.getId());
42 Assert.assertEquals(null, edge.getDescription());
43 Assert.assertEquals(0, edge.getEndpoints().size());
44 }
45
46 @Test
47 public void testDesc() throws Exception {
48
49 String xml =
50 "<hyperedge>" +
51 "<desc>hello world</desc>" +
52 "</hyperedge>";
53
54 HyperEdgeMetadata edge = (HyperEdgeMetadata) readObject(xml);
55 Assert.assertNotNull(edge);
56 Assert.assertEquals(null, edge.getId());
57 Assert.assertEquals("hello world", edge.getDescription());
58 Assert.assertEquals(0, edge.getEndpoints().size());
59 }
60
61 @Test
62 public void testEndpoints() throws Exception {
63
64 String xml =
65 "<hyperedge>" +
66 "<endpoint node=\"1\"/>" +
67 "<endpoint node=\"2\"/>" +
68 "<endpoint node=\"3\"/>" +
69 "</hyperedge>";
70
71 HyperEdgeMetadata edge = (HyperEdgeMetadata) readObject(xml);
72 Assert.assertNotNull(edge);
73 Assert.assertEquals(null, edge.getId());
74 Assert.assertEquals(null, edge.getDescription());
75 Assert.assertEquals(3, edge.getEndpoints().size());
76 Assert.assertEquals("1", edge.getEndpoints().get(0).getNode());
77 Assert.assertEquals("2", edge.getEndpoints().get(1).getNode());
78 Assert.assertEquals("3", edge.getEndpoints().get(2).getNode());
79 }
80
81 @Test
82 public void testUserAttributes() throws Exception {
83
84 String xml =
85 "<hyperedge bob=\"abc123\"/>";
86
87 HyperEdgeMetadata edge = (HyperEdgeMetadata) readObject(xml);
88 Assert.assertNotNull(edge);
89 Assert.assertEquals(null, edge.getId());
90 Assert.assertEquals(null, edge.getDescription());
91 Assert.assertEquals(0, edge.getEndpoints().size());
92 Assert.assertEquals(1, edge.getProperties().size());
93 Assert.assertEquals("abc123", edge.getProperty("bob"));
94 }
95
96 @Test
97 public void testData() throws Exception {
98
99 String xml =
100 "<hyperedge>" +
101 "<data key=\"d1\">value1</data>" +
102 "<data key=\"d2\">value2</data>" +
103 "</hyperedge>";
104
105 HyperEdgeMetadata edge = (HyperEdgeMetadata) readObject(xml);
106 Assert.assertNotNull(edge);
107 Assert.assertEquals(null, edge.getId());
108 Assert.assertEquals(null, edge.getDescription());
109 Assert.assertEquals(0, edge.getEndpoints().size());
110 Assert.assertEquals(2, edge.getProperties().size());
111 Assert.assertEquals("value1", edge.getProperty("d1"));
112 Assert.assertEquals("value2", edge.getProperty("d2"));
113 }
114 }