MCPcopy Create free account
hub / github.com/KOSASIH/skybridge / TestNode

Function TestNode

src/node/node_test.go:7–48  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

5)
6
7func TestNode(t *testing.T) {
8 node1 := NewNode("1")
9 node2 := NewNode("2")
10 node3 := NewNode("3")
11 node4 := NewNode("4")
12
13 node1.AddNeighbor(node2)
14 node1.AddNeighbor(node3)
15 node2.AddNeighbor(node4)
16
17 visited := make(map[string]bool)
18 node1.Traverse(visited)
19
20 if len(visited) != 4 {
21 t.Errorf("Expected 4 nodes to be visited, got %d", len(visited))
22 }
23
24 for _, id := range []string{"1", "2", "3", "4"} {
25 if !visited[id] {
26 t.Errorf("Node %s was not visited", id)
27 }
28 }
29
30 var wg sync.WaitGroup
31 visited = make(map[string]bool)
32 wg.Add(1)
33 go func() {
34 node1.TraverseConcurrently(visited, &wg)
35 }()
36
37 wg.Wait()
38
39 if len(visited) != 4 {
40 t.Errorf("Expected 4 nodes to be visited, got %d", len(visited))
41 }
42
43 for _, id := range []string{"1", "2", "3", "4"} {
44 if !visited[id] {
45 t.Errorf("Node %s was not visited", id)
46 }
47 }
48}

Callers

nothing calls this directly

Calls 4

AddNeighborMethod · 0.95
TraverseMethod · 0.95
TraverseConcurrentlyMethod · 0.95
NewNodeFunction · 0.70

Tested by

no test coverage detected