github.com/jgadling/terraform@v0.3.8-0.20150227214559-abd68c2c87bc/dag/graph_test.go (about) 1 package dag 2 3 import ( 4 "strings" 5 "testing" 6 ) 7 8 func TestGraph_empty(t *testing.T) { 9 var g Graph 10 g.Add(1) 11 g.Add(2) 12 g.Add(3) 13 14 actual := strings.TrimSpace(g.String()) 15 expected := strings.TrimSpace(testGraphEmptyStr) 16 if actual != expected { 17 t.Fatalf("bad: %s", actual) 18 } 19 } 20 21 func TestGraph_basic(t *testing.T) { 22 var g Graph 23 g.Add(1) 24 g.Add(2) 25 g.Add(3) 26 g.Connect(BasicEdge(1, 3)) 27 28 actual := strings.TrimSpace(g.String()) 29 expected := strings.TrimSpace(testGraphBasicStr) 30 if actual != expected { 31 t.Fatalf("bad: %s", actual) 32 } 33 } 34 35 func TestGraph_remove(t *testing.T) { 36 var g Graph 37 g.Add(1) 38 g.Add(2) 39 g.Add(3) 40 g.Connect(BasicEdge(1, 3)) 41 g.Remove(3) 42 43 actual := strings.TrimSpace(g.String()) 44 expected := strings.TrimSpace(testGraphRemoveStr) 45 if actual != expected { 46 t.Fatalf("bad: %s", actual) 47 } 48 } 49 50 func TestGraph_replace(t *testing.T) { 51 var g Graph 52 g.Add(1) 53 g.Add(2) 54 g.Add(3) 55 g.Connect(BasicEdge(1, 2)) 56 g.Connect(BasicEdge(2, 3)) 57 g.Replace(2, 42) 58 59 actual := strings.TrimSpace(g.String()) 60 expected := strings.TrimSpace(testGraphReplaceStr) 61 if actual != expected { 62 t.Fatalf("bad: %s", actual) 63 } 64 } 65 66 const testGraphBasicStr = ` 67 1 68 3 69 2 70 3 71 ` 72 73 const testGraphEmptyStr = ` 74 1 75 2 76 3 77 ` 78 79 const testGraphRemoveStr = ` 80 1 81 2 82 ` 83 84 const testGraphReplaceStr = ` 85 1 86 42 87 3 88 42 89 3 90 `