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.GraphIOException;
17 import edu.uci.ics.jung.io.graphml.EdgeMetadata;
18
19 public class TestEdgeElementParser extends AbstractParserTest {
20
21 @Test(expected= GraphIOException.class)
22 public void testNoSource() throws Exception {
23
24 String xml =
25 "<edge target=\"2\"/>";
26
27 readObject(xml);
28 }
29
30 @Test(expected= GraphIOException.class)
31 public void testNoTarget() throws Exception {
32
33 String xml =
34 "<edge source=\"2\"/>";
35
36 readObject(xml);
37 }
38
39 @Test
40 public void testId() throws Exception {
41
42 String xml =
43 "<edge source=\"1\" target=\"2\" id=\"e1\"/>";
44
45 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
46 Assert.assertNotNull(edge);
47 Assert.assertEquals("e1", edge.getId());
48 Assert.assertEquals(null, edge.getDescription());
49 Assert.assertEquals("1", edge.getSource());
50 Assert.assertEquals("2", edge.getTarget());
51 Assert.assertEquals(null, edge.isDirected());
52 Assert.assertEquals(null, edge.getSourcePort());
53 Assert.assertEquals(null, edge.getTargetPort());
54 }
55
56 @Test
57 public void testDirectedTrue() throws Exception {
58
59 String xml =
60 "<edge source=\"1\" target=\"2\" directed=\"true\"/>";
61
62 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
63 Assert.assertNotNull(edge);
64 Assert.assertEquals(null, edge.getId());
65 Assert.assertEquals(null, edge.getDescription());
66 Assert.assertEquals("1", edge.getSource());
67 Assert.assertEquals("2", edge.getTarget());
68 Assert.assertEquals(true, edge.isDirected());
69 Assert.assertEquals(null, edge.getSourcePort());
70 Assert.assertEquals(null, edge.getTargetPort());
71 }
72
73 @Test
74 public void testDirectedFalse() throws Exception {
75
76 String xml =
77 "<edge source=\"1\" target=\"2\" directed=\"false\"/>";
78
79 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
80 Assert.assertNotNull(edge);
81 Assert.assertEquals(null, edge.getId());
82 Assert.assertEquals(null, edge.getDescription());
83 Assert.assertEquals("1", edge.getSource());
84 Assert.assertEquals("2", edge.getTarget());
85 Assert.assertEquals(false, edge.isDirected());
86 Assert.assertEquals(null, edge.getSourcePort());
87 Assert.assertEquals(null, edge.getTargetPort());
88 }
89
90 @Test
91 public void testSourceTargetPorts() throws Exception {
92
93 String xml =
94 "<edge source=\"1\" target=\"2\" sourceport=\"a\" targetport=\"b\"/>";
95
96 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
97 Assert.assertNotNull(edge);
98 Assert.assertEquals(null, edge.getId());
99 Assert.assertEquals(null, edge.getDescription());
100 Assert.assertEquals("1", edge.getSource());
101 Assert.assertEquals("2", edge.getTarget());
102 Assert.assertEquals(null, edge.isDirected());
103 Assert.assertEquals("a", edge.getSourcePort());
104 Assert.assertEquals("b", edge.getTargetPort());
105 }
106
107 @Test
108 public void testDesc() throws Exception {
109
110 String xml =
111 "<edge source=\"1\" target=\"2\">" +
112 "<desc>hello world</desc>" +
113 "</edge>";
114
115 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
116 Assert.assertNotNull(edge);
117 Assert.assertEquals(null, edge.getId());
118 Assert.assertEquals("hello world", edge.getDescription());
119 Assert.assertEquals("1", edge.getSource());
120 Assert.assertEquals("2", edge.getTarget());
121 Assert.assertEquals(null, edge.isDirected());
122 Assert.assertEquals(null, edge.getSourcePort());
123 Assert.assertEquals(null, edge.getTargetPort());
124 }
125
126 @Test
127 public void testUserAttributes() throws Exception {
128
129 String xml =
130 "<edge source=\"1\" target=\"2\" bob=\"abc123\">" +
131 "</edge>";
132
133 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
134 Assert.assertNotNull(edge);
135 Assert.assertEquals(null, edge.getId());
136 Assert.assertEquals(null, edge.getDescription());
137 Assert.assertEquals("1", edge.getSource());
138 Assert.assertEquals("2", edge.getTarget());
139 Assert.assertEquals(null, edge.isDirected());
140 Assert.assertEquals(null, edge.getSourcePort());
141 Assert.assertEquals(null, edge.getTargetPort());
142 Assert.assertEquals(1, edge.getProperties().size());
143 Assert.assertEquals("abc123", edge.getProperty("bob"));
144 }
145
146 @Test
147 public void testData() throws Exception {
148
149 String xml =
150 "<edge source=\"1\" target=\"2\">" +
151 "<data key=\"d1\">value1</data>" +
152 "<data key=\"d2\">value2</data>" +
153 "</edge>";
154
155 EdgeMetadata edge = (EdgeMetadata) readObject(xml);
156 Assert.assertNotNull(edge);
157 Assert.assertEquals(null, edge.getId());
158 Assert.assertEquals(null, edge.getDescription());
159 Assert.assertEquals("1", edge.getSource());
160 Assert.assertEquals("2", edge.getTarget());
161 Assert.assertEquals(null, edge.isDirected());
162 Assert.assertEquals(null, edge.getSourcePort());
163 Assert.assertEquals(null, edge.getTargetPort());
164 Assert.assertEquals(2, edge.getProperties().size());
165 Assert.assertEquals("value1", edge.getProperty("d1"));
166 Assert.assertEquals("value2", edge.getProperty("d2"));
167 }
168 }