github.com/atsaki/terraform@v0.4.3-0.20150919165407-25bba5967654/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 func TestGraph_replaceSelf(t *testing.T) { 67 var g Graph 68 g.Add(1) 69 g.Add(2) 70 g.Add(3) 71 g.Connect(BasicEdge(1, 2)) 72 g.Connect(BasicEdge(2, 3)) 73 g.Replace(2, 2) 74 75 actual := strings.TrimSpace(g.String()) 76 expected := strings.TrimSpace(testGraphReplaceSelfStr) 77 if actual != expected { 78 t.Fatalf("bad: %s", actual) 79 } 80 } 81 82 const testGraphBasicStr = ` 83 1 84 3 85 2 86 3 87 ` 88 89 const testGraphEmptyStr = ` 90 1 91 2 92 3 93 ` 94 95 const testGraphRemoveStr = ` 96 1 97 2 98 ` 99 100 const testGraphReplaceStr = ` 101 1 102 42 103 3 104 42 105 3 106 ` 107 108 const testGraphReplaceSelfStr = ` 109 1 110 2 111 2 112 3 113 3 114 `