@@ -2,39 +2,62 @@ const {graph} = require('./graph.module')
2
2
3
3
test ( 'Graph Data Structure' , assert => {
4
4
const devBook = Object . create ( graph ( ) )
5
+ const devBook2 = Object . create ( graph ( ) )
5
6
6
- devBook . addVertex ( 'James Gosling' )
7
- devBook . addVertex ( 'Guido Rossum' )
8
- devBook . addVertex ( 'Linus Torvalds' )
9
- devBook . addVertex ( 'Cristian Ramirez' )
7
+ devBook . addVertex ( 'S' )
8
+ devBook . addVertex ( 'A' )
9
+ devBook . addVertex ( 'B' )
10
+ devBook . addVertex ( 'C' )
11
+ devBook . addVertex ( 'D' )
12
+ devBook . addVertex ( 'E' )
10
13
11
- assert . equal ( ! ! devBook . getVertex ( 'Linus Torvalds ' ) , true , 'adds vertex' )
14
+ assert . equal ( ! ! devBook . getVertex ( 'A ' ) , true , 'adds vertex' )
12
15
13
- devBook . addEdge ( 'James Gosling' , 'Guido Rossum' )
14
- devBook . addEdge ( 'James Gosling' , 'Cristian Ramirez' )
15
- devBook . addEdge ( 'Linus Torvalds' , 'Cristian Ramirez' )
16
+ devBook . addEdge ( 'S' , 'A' )
17
+ devBook . addEdge ( 'S' , 'B' )
18
+ devBook . addEdge ( 'S' , 'C' )
19
+ devBook . addEdge ( 'A' , 'D' )
20
+ devBook . addEdge ( 'B' , 'D' )
21
+ devBook . addEdge ( 'C' , 'D' )
22
+ devBook . addEdge ( 'A' , 'E' )
16
23
17
- assert . equal ( devBook . getVertex ( 'Linus Torvalds' ) . edges [ 'Cristian Ramirez' ] , true , 'adds edges ')
24
+ const vertex = devBook . getVertex ( 'A ' )
18
25
19
- devBook . removeEdge ( 'Linus Torvalds' , 'Cristian Ramirez ' )
26
+ assert . equal ( vertex , devBook . getVertex ( 'A' ) , 'get vertex object ' )
20
27
21
- assert . equal ( ! ! devBook . getVertex ( 'Linus Torvalds ' ) . edges [ 'Cristian Ramirez ' ] , false , 'removes an edge ' )
28
+ assert . equal ( devBook . getVertex ( 'C ' ) . edges [ 'D ' ] , true , 'adds edges ' )
22
29
23
- devBook . removeVertex ( 'Linus Torvalds ')
30
+ devBook . removeEdge ( 'A' , 'E ')
24
31
25
- assert . equal ( devBook . getVertex ( 'Linus Torvalds' ) , false , 'removes a vertex ' )
32
+ assert . equal ( ! ! devBook . getVertex ( 'A' ) . edges [ 'E' ] , false , 'removes an edge ' )
26
33
27
- assert . ok ( devBook . hasEdge ( 'James Gosling' , 'Guido Rossum' ) , 'verify has edge ')
34
+ devBook . removeVertex ( 'E ')
28
35
29
- devBook . showGraph ( )
36
+ assert . equal ( devBook . getVertex ( 'E' ) , false , 'removes a vertex' )
37
+
38
+ assert . ok ( devBook . hasEdge ( 'B' , 'D' ) , 'verify has edge' )
30
39
31
- console . log ( JSON . stringify ( devBook . getGraph ( ) , null , 2 ) )
40
+ devBook . showGraph ( )
32
41
33
42
devBook . showVertexs ( )
34
43
35
- // devBook.showVertex('James Gosling')
44
+ console . log ( 'DFS() search...' )
45
+
46
+ devBook . search ( devBook . getGraph ( ) ) . dfs ( )
47
+
48
+ devBook2 . addVertex ( 'S' )
49
+ devBook2 . addVertex ( 'A' )
50
+ devBook2 . addVertex ( 'B' )
51
+ devBook2 . addVertex ( 'C' )
52
+ devBook2 . addVertex ( 'D' )
53
+ devBook2 . addEdge ( 'S' , 'A' )
54
+ devBook2 . addEdge ( 'S' , 'B' )
55
+ devBook2 . addEdge ( 'S' , 'C' )
56
+ devBook2 . addEdge ( 'A' , 'D' )
57
+ devBook2 . addEdge ( 'B' , 'D' )
58
+ devBook2 . addEdge ( 'C' , 'D' )
36
59
37
- const vertex = devBook . getVertex ( 'Cristian Ramirez ')
60
+ console . log ( 'BFS() search... ')
38
61
39
- assert . equal ( vertex , devBook . getVertex ( 'Cristian Ramirez' ) , 'get vertex object' )
62
+ devBook2 . search ( devBook2 . getGraph ( ) ) . bfs ( )
40
63
} )
0 commit comments