github.com/jsoriano/terraform@v0.6.7-0.20151026070445-8b70867fdd95/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  `