View Javadoc
1   /*
2    * Copyright (c) 2008, The JUNG Authors
3    *
4    * All rights reserved.
5    *
6    * This software is open-source under the BSD license; see either
7    * "license.txt" or
8    * https://github.com/jrtom/jung/blob/master/LICENSE for a description.
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 }