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 }