@@ -18,7 +18,7 @@ def test_stack(self):
18
18
myStack .push (10 )
19
19
myStack .push (12 )
20
20
myStack .push (3 )
21
-
21
+
22
22
self .assertEqual (myStack .pop (), 3 )
23
23
self .assertEqual (myStack .peek (), 12 )
24
24
self .assertFalse (myStack .is_empty ())
@@ -122,6 +122,15 @@ def test_doubly_linked_list(self):
122
122
expectedResult = [4 , 1 , 3 ]
123
123
self .assertEqual (dll .get_data (), expectedResult )
124
124
125
+ def test_cicular_linked_list (self ):
126
+ cll = linked_list .CircularLinkedList ()
127
+ cll .insert (1 )
128
+ cll .insert (2 )
129
+ cll .insert (3 )
130
+
131
+ expectedResult = [1 , 2 , 3 ]
132
+ self .assertEqual (cll .get_data (), expectedResult )
133
+
125
134
126
135
class TestBinaryTree (unittest .TestCase ):
127
136
def test_binary_tree (self ):
@@ -192,20 +201,20 @@ def test_cycle_in_directed_graph(self):
192
201
myGraph .add_edge (3 , 3 )
193
202
194
203
self .assertTrue (myGraph .check_cycle ())
195
-
204
+
196
205
def test_add_edge_in_undirected_graph (self ):
197
206
myGraph = graph .CheckCycleUndirectedGraph ()
198
207
myGraph .add_edge (0 , 1 )
199
208
myGraph .add_edge (0 , 2 )
200
-
209
+
201
210
setFrom0 = myGraph .graph [0 ]
202
211
setFrom1 = myGraph .graph [1 ]
203
212
setFrom2 = myGraph .graph [2 ]
204
-
213
+
205
214
self .assertIsNotNone (setFrom0 )
206
215
self .assertIsNotNone (setFrom1 )
207
216
self .assertIsNotNone (setFrom2 )
208
-
217
+
209
218
self .assertIn (1 , setFrom0 )
210
219
self .assertIn (0 , setFrom1 )
211
220
self .assertIn (2 , setFrom0 )
@@ -225,14 +234,14 @@ def test_cycle_in_undirected_graph(self):
225
234
def test_creating_weighted_undirected_graph (self ):
226
235
myGraph = graph .WeightedUndirectedGraph ()
227
236
myGraph .add_edge (0 , 1 , 1 )
228
-
237
+
229
238
self .assertIn (0 , myGraph .graph [1 ])
230
239
self .assertIn (1 , myGraph .graph [0 ])
231
240
self .assertEqual (1 , myGraph .get_edge_weight (0 , 1 ))
232
241
self .assertEqual (1 , myGraph .get_edge_weight (1 , 0 ))
233
-
242
+
234
243
myGraph .add_edge (0 , 2 , 3 )
235
-
244
+
236
245
self .assertIn (0 , myGraph .graph [2 ])
237
246
self .assertIn (0 , myGraph .graph [1 ])
238
247
self .assertIn (1 , myGraph .graph [0 ])
@@ -241,7 +250,7 @@ def test_creating_weighted_undirected_graph(self):
241
250
self .assertEqual (1 , myGraph .get_edge_weight (1 , 0 ))
242
251
self .assertEqual (3 , myGraph .get_edge_weight (0 , 2 ))
243
252
self .assertEqual (3 , myGraph .get_edge_weight (2 , 0 ))
244
-
253
+
245
254
myGraph .add_edge (2 , 3 , 7 )
246
255
self .assertIn (0 , myGraph .graph [2 ])
247
256
self .assertIn (3 , myGraph .graph [2 ])
@@ -250,7 +259,7 @@ def test_creating_weighted_undirected_graph(self):
250
259
self .assertNotIn (3 , myGraph .graph [0 ])
251
260
self .assertEqual (7 , myGraph .get_edge_weight (2 , 3 ))
252
261
self .assertIsNone (myGraph .get_edge_weight (0 , 3 ))
253
-
262
+
254
263
def test_removing_from_weighted_undirected_graph (self ):
255
264
myGraph = graph .WeightedUndirectedGraph ()
256
265
myGraph .add_edge (0 , 1 , 1 )
@@ -259,54 +268,54 @@ def test_removing_from_weighted_undirected_graph(self):
259
268
myGraph .add_edge (0 , 4 , 1 )
260
269
myGraph .add_edge (4 , 5 , 1 )
261
270
myGraph .add_edge (2 , 6 , 1 )
262
-
271
+
263
272
self .assertEqual (1 , myGraph .get_edge_weight (0 , 1 ))
264
273
self .assertEqual (1 , myGraph .get_edge_weight (0 , 2 ))
265
274
self .assertEqual (1 , myGraph .get_edge_weight (0 , 3 ))
266
275
self .assertEqual (1 , myGraph .get_edge_weight (0 , 4 ))
267
276
self .assertEqual (1 , myGraph .get_edge_weight (4 , 5 ))
268
277
self .assertEqual (1 , myGraph .get_edge_weight (2 , 6 ))
269
-
278
+
270
279
myGraph .remove_edge (0 , 1 )
271
-
280
+
272
281
self .assertIsNone (myGraph .get_edge_weight (0 , 1 ))
273
282
self .assertEqual (1 , myGraph .get_edge_weight (0 , 2 ))
274
283
self .assertEqual (1 , myGraph .get_edge_weight (0 , 3 ))
275
284
self .assertEqual (1 , myGraph .get_edge_weight (0 , 4 ))
276
285
self .assertEqual (1 , myGraph .get_edge_weight (4 , 5 ))
277
286
self .assertEqual (1 , myGraph .get_edge_weight (2 , 6 ))
278
-
287
+
279
288
myGraph .remove_edge (0 , 2 )
280
-
289
+
281
290
self .assertIsNone (myGraph .get_edge_weight (0 , 1 ))
282
291
self .assertIsNone (myGraph .get_edge_weight (0 , 2 ))
283
292
self .assertEqual (1 , myGraph .get_edge_weight (0 , 3 ))
284
293
self .assertEqual (1 , myGraph .get_edge_weight (0 , 4 ))
285
294
self .assertEqual (1 , myGraph .get_edge_weight (4 , 5 ))
286
295
self .assertEqual (1 , myGraph .get_edge_weight (2 , 6 ))
287
-
296
+
288
297
myGraph .remove_edge (0 )
289
-
298
+
290
299
self .assertIsNone (myGraph .get_edge_weight (0 , 1 ))
291
300
self .assertIsNone (myGraph .get_edge_weight (0 , 2 ))
292
301
self .assertIsNone (myGraph .get_edge_weight (0 , 3 ))
293
302
self .assertIsNone (myGraph .get_edge_weight (0 , 4 ))
294
303
self .assertEqual (1 , myGraph .get_edge_weight (4 , 5 ))
295
304
self .assertEqual (1 , myGraph .get_edge_weight (2 , 6 ))
296
-
305
+
297
306
def test_gridify_weighted_undirected_graph (self ):
298
307
rt2 = 1.4142135623730951
299
308
myGraph = graph .WeightedUndirectedGraph ()
300
309
myGraph .gridify (4 , 1 )
301
-
310
+
302
311
self .assertEqual (1 , myGraph .get_edge_weight ((0 , 0 ), (0 , 1 )))
303
312
self .assertAlmostEqual (rt2 , myGraph .get_edge_weight ((0 , 0 ), (1 , 1 )))
304
-
313
+
305
314
self .assertIsNone (myGraph .get_edge_weight ((0 , 0 ), (2 , 0 )))
306
315
self .assertEqual (1 , myGraph .get_edge_weight ((2 , 3 ), (3 , 3 )))
307
316
self .assertIsNone (myGraph .get_edge_weight ((3 , 3 ), (3 , 4 )))
308
-
309
-
317
+
318
+
310
319
class TestHeap (unittest .TestCase ):
311
320
def test_heap (self ):
312
321
myHeap = heap .Heap ()
0 commit comments