-
Notifications
You must be signed in to change notification settings - Fork 287
Expand file tree
/
Copy pathtest.js
More file actions
75 lines (50 loc) · 1.57 KB
/
Copy pathtest.js
File metadata and controls
75 lines (50 loc) · 1.57 KB
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()
})