forked from crizstian/data-structure-and-algorithms-with-ES6
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
75 lines (50 loc) · 1.57 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const {graph} = require('./graph.module')
test('Graph Data Structure', assert => {
const devBook = graph()
const devBook2 = graph()
devBook.addVertex('S')
devBook.addVertex('A')
devBook.addVertex('B')
devBook.addVertex('C')
devBook.addVertex('D')
devBook.addVertex('E')
assert.equal(!!devBook.getVertex('A'), true, 'adds vertex')
devBook.addEdge('S', 'A')
devBook.addEdge('S', 'B')
devBook.addEdge('S', 'C')
devBook.addEdge('A', 'D')
devBook.addEdge('B', 'D')
devBook.addEdge('C', 'D')
devBook.addEdge('A', 'E')
const vertex = devBook.getVertex('A')
assert.equal(vertex, devBook.getVertex('A'), 'get vertex object')
assert.equal(devBook.getVertex('C').edges['D'], true, 'adds edges')
devBook.removeEdge('A', 'E')
assert.equal(!!devBook.getVertex('A').edges['E'], false, 'removes an edge')
devBook.removeVertex('E')
assert.equal(devBook.getVertex('E'), false, 'removes a vertex')
assert.ok(devBook.hasEdge('B', 'D'), 'verify has edge')
devBook.showGraph()
devBook.showVertexs()
console.log('DFS() search...')
devBook.dfs()
console.log('BFS() search...')
devBook.bfs()
devBook2.addVertex('F')
devBook2.addVertex('G')
devBook2.addVertex('H')
devBook2.addVertex('I')
devBook2.addVertex('J')
devBook2.addEdge('F', 'G')
devBook2.addEdge('F', 'H')
devBook2.addEdge('F', 'I')
devBook2.addEdge('G', 'J')
devBook2.addEdge('H', 'J')
devBook2.addEdge('I', 'J')
devBook2.showGraph()
devBook2.showVertexs()
console.log('DFS() search...')
devBook2.dfs()
console.log('BFS() search...')
devBook2.bfs()
})