graph-builder
/
algorythms_test.go
57 строк · 1.0 Кб
1package graph
2
3import (
4"fmt"
5"testing"
6)
7
8func TestBFS(t *testing.T) {
9var g AbstractGraph
10g.Graph = make(map[*Node]map[*Node]int, 3)
11var a, b, c, d, e, f Node
12a.Name = "a"
13b.Name = "b"
14c.Name = "c"
15d.Name = "d"
16e.Name = "e"
17f.Name = "f"
18
19g.Graph[&a] = make(map[*Node]int, 2)
20g.Graph[&a][&b] = 1
21g.Graph[&a][&c] = 1
22g.Graph[&b] = make(map[*Node]int, 2)
23g.Graph[&b][&d] = 1
24g.Graph[&b][&e] = 1
25g.Graph[&c] = make(map[*Node]int, 1)
26g.Graph[&c][&f] = 1
27
28fmt.Println(g.BFS("a", func(want interface{}) bool {
29return false
30}))
31
32}
33func TestDFS(t *testing.T) {
34var g AbstractGraph
35g.Graph = make(map[*Node]map[*Node]int, 3)
36var a, b, c, d, e, f Node
37a.Name = "a"
38b.Name = "b"
39c.Name = "c"
40d.Name = "d"
41e.Name = "e"
42f.Name = "f"
43
44g.Graph[&a] = make(map[*Node]int, 2)
45g.Graph[&a][&b] = 1
46g.Graph[&a][&c] = 1
47g.Graph[&b] = make(map[*Node]int, 2)
48g.Graph[&b][&d] = 1
49g.Graph[&b][&e] = 1
50g.Graph[&c] = make(map[*Node]int, 1)
51g.Graph[&c][&f] = 1
52
53fmt.Println(g.DFS("a", func(want interface{}) bool {
54return false
55}))
56
57}
58