github.com/turtlemonvh/terraform@v0.6.9-0.20151204001754-8e40b6b855e8/config/lang/ast/stack_test.go (about)

     1  package ast
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  )
     7  
     8  func TestStack(t *testing.T) {
     9  	var s Stack
    10  	if s.Len() != 0 {
    11  		t.Fatalf("bad: %d", s.Len())
    12  	}
    13  
    14  	n := &LiteralNode{Value: 42}
    15  	s.Push(n)
    16  
    17  	if s.Len() != 1 {
    18  		t.Fatalf("bad: %d", s.Len())
    19  	}
    20  
    21  	actual := s.Pop()
    22  	if !reflect.DeepEqual(actual, n) {
    23  		t.Fatalf("bad: %#v", actual)
    24  	}
    25  
    26  	if s.Len() != 0 {
    27  		t.Fatalf("bad: %d", s.Len())
    28  	}
    29  }
    30  
    31  func TestStack_reset(t *testing.T) {
    32  	var s Stack
    33  
    34  	n := &LiteralNode{Value: 42}
    35  	s.Push(n)
    36  
    37  	if s.Len() != 1 {
    38  		t.Fatalf("bad: %d", s.Len())
    39  	}
    40  
    41  	s.Reset()
    42  
    43  	if s.Len() != 0 {
    44  		t.Fatalf("bad: %d", s.Len())
    45  	}
    46  }