1 25 40 package org.jgrapht.graph; 41 42 import java.util.*; 43 44 import org.jgrapht.*; 45 46 47 52 public class AsUndirectedGraphTest 53 extends EnhancedTestCase 54 { 55 56 58 private DirectedGraph<String , DefaultEdge> directed; 59 private DefaultEdge loop; 60 private String v1 = "v1"; 61 private String v2 = "v2"; 62 private String v3 = "v3"; 63 private String v4 = "v4"; 64 private UndirectedGraph<String , DefaultEdge> undirected; 65 66 68 71 public AsUndirectedGraphTest(String name) 72 { 73 super(name); 74 } 75 76 78 81 public void testAddEdge() 82 { 83 try { 84 undirected.addEdge(v3, v4); 85 assertFalse(); 86 } catch (UnsupportedOperationException e) { 87 assertTrue(); 88 } 89 90 assertEquals( 91 "([v1, v2, v3, v4], [{v1,v2}, {v2,v3}, {v2,v4}, {v4,v4}])", 92 undirected.toString()); 93 } 94 95 98 public void testAddVertex() 99 { 100 String v5 = "v5"; 101 102 undirected.addVertex(v5); 103 assertEquals(true, undirected.containsVertex(v5)); 104 assertEquals(true, directed.containsVertex(v5)); 105 } 106 107 110 public void testDegreeOf() 111 { 112 assertEquals(1, undirected.degreeOf(v1)); 113 assertEquals(3, undirected.degreeOf(v2)); 114 assertEquals(1, undirected.degreeOf(v3)); 115 assertEquals(3, undirected.degreeOf(v4)); 116 } 117 118 121 public void testGetAllEdges() 122 { 123 Set<DefaultEdge> edges = undirected.getAllEdges(v3, v2); 124 assertEquals(1, edges.size()); 125 assertEquals(directed.getEdge(v2, v3), 126 edges.iterator().next()); 127 128 edges = undirected.getAllEdges(v4, v4); 129 assertEquals(1, edges.size()); 130 assertEquals(loop, edges.iterator().next()); 131 } 132 133 136 public void testGetEdge() 137 { 138 assertEquals( 139 directed.getEdge(v1, v2), 140 undirected.getEdge(v1, v2)); 141 assertEquals( 142 directed.getEdge(v1, v2), 143 undirected.getEdge(v2, v1)); 144 145 assertEquals( 146 directed.getEdge(v4, v4), 147 undirected.getEdge(v4, v4)); 148 } 149 150 153 public void testRemoveEdge() 154 { 155 undirected.removeEdge(loop); 156 assertEquals(false, undirected.containsEdge(loop)); 157 assertEquals(false, directed.containsEdge(loop)); 158 } 159 160 163 public void testRemoveVertex() 164 { 165 undirected.removeVertex(v4); 166 assertEquals(false, undirected.containsVertex(v4)); 167 assertEquals(false, directed.containsVertex(v4)); 168 } 169 170 173 protected void setUp() 174 { 175 directed = 176 new DefaultDirectedGraph<String , DefaultEdge>( 177 DefaultEdge.class); 178 undirected = new AsUndirectedGraph<String , DefaultEdge>(directed); 179 180 directed.addVertex(v1); 181 directed.addVertex(v2); 182 directed.addVertex(v3); 183 directed.addVertex(v4); 184 directed.addEdge(v1, v2); 185 directed.addEdge(v2, v3); 186 directed.addEdge(v2, v4); 187 loop = directed.addEdge(v4, v4); 188 } 189 } 190 | Popular Tags |