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  `