@@ -95,4 +95,44 @@ class SwiftGraphTests: XCTestCase {
95
95
XCTAssertFalse ( graph. edgeExists ( fromIndex: 2 , toIndex: 3 ) )
96
96
XCTAssertFalse ( graph. edgeExists ( fromIndex: 3 , toIndex: 2 ) )
97
97
}
98
+
99
+ func testCitesReversedDirected( ) {
100
+ let g = UnweightedGraph < String > ( vertices: [ " Atlanta " , " New York " , " Miami " ] )
101
+ g. addEdge ( from: " Atlanta " , to: " New York " , directed: true )
102
+ g. addEdge ( from: " Miami " , to: " Atlanta " , directed: true )
103
+ g. addEdge ( from: " New York " , to: " Miami " , directed: true )
104
+
105
+ XCTAssertTrue ( g. edgeExists ( from: " Atlanta " , to: " New York " ) )
106
+ XCTAssertTrue ( g. edgeExists ( from: " Miami " , to: " Atlanta " ) )
107
+ XCTAssertTrue ( g. edgeExists ( from: " New York " , to: " Miami " ) )
108
+
109
+ let r : UnweightedGraph < String > = g. reversed ( )
110
+ XCTAssertFalse ( r. edgeExists ( from: " Atlanta " , to: " New York " ) )
111
+ XCTAssertFalse ( r. edgeExists ( from: " Miami " , to: " Atlanta " ) )
112
+ XCTAssertFalse ( r. edgeExists ( from: " New York " , to: " Miami " ) )
113
+
114
+ XCTAssertTrue ( r. edgeExists ( from: " New York " , to: " Atlanta " ) )
115
+ XCTAssertTrue ( r. edgeExists ( from: " Atlanta " , to: " Miami " ) )
116
+ XCTAssertTrue ( r. edgeExists ( from: " Miami " , to: " New York " ) )
117
+ }
118
+
119
+ func testCitesReversedUndirected( ) {
120
+ let g = UnweightedGraph < String > ( vertices: [ " Atlanta " , " New York " , " Miami " ] )
121
+ g. addEdge ( from: " Atlanta " , to: " New York " , directed: false )
122
+ g. addEdge ( from: " Miami " , to: " Atlanta " , directed: false )
123
+ g. addEdge ( from: " New York " , to: " Miami " , directed: false )
124
+
125
+ XCTAssertTrue ( g. edgeExists ( from: " Atlanta " , to: " New York " ) )
126
+ XCTAssertTrue ( g. edgeExists ( from: " Miami " , to: " Atlanta " ) )
127
+ XCTAssertTrue ( g. edgeExists ( from: " New York " , to: " Miami " ) )
128
+
129
+ let r : UnweightedGraph < String > = g. reversed ( )
130
+ XCTAssertTrue ( r. edgeExists ( from: " Atlanta " , to: " New York " ) )
131
+ XCTAssertTrue ( r. edgeExists ( from: " Miami " , to: " Atlanta " ) )
132
+ XCTAssertTrue ( r. edgeExists ( from: " New York " , to: " Miami " ) )
133
+
134
+ XCTAssertTrue ( r. edgeExists ( from: " New York " , to: " Atlanta " ) )
135
+ XCTAssertTrue ( r. edgeExists ( from: " Atlanta " , to: " Miami " ) )
136
+ XCTAssertTrue ( r. edgeExists ( from: " Miami " , to: " New York " ) )
137
+ }
98
138
}
0 commit comments