1
+ package utils
2
+
3
+ import (
4
+ "testing"
5
+ )
6
+
7
+ func TestStack_Len (t * testing.T ) {
8
+ var myStack Stack
9
+ myStack .Push (1 )
10
+ myStack .Push ("test" )
11
+ if myStack .Len () == 2 {
12
+ t .Log ("Pass Stack.Len" )
13
+ } else {
14
+ t .Error ("Failed Stack.Len" )
15
+ }
16
+ }
17
+
18
+ func TestStack_IsEmpty (t * testing.T ) {
19
+ var mStack Stack
20
+ if mStack .IsEmpty () {
21
+ t .Log ("Pass Stack.IsEmpty" )
22
+ } else {
23
+ t .Error ("Failed Stack.IsEmpty" )
24
+ }
25
+ }
26
+
27
+ func TestStack_Cap (t * testing.T ) {
28
+ myStack := make (Stack , 3 )
29
+ if myStack .Cap () == 3 {
30
+ t .Log ("Pass Stack.Cap" )
31
+ } else {
32
+ t .Error ("Failed Stack.Cap" )
33
+ }
34
+ }
35
+
36
+ func TestStack_Push (t * testing.T ) {
37
+ var mStack Stack
38
+ mStack .Push (3 )
39
+ if mStack .Len () == 1 {
40
+ t .Log ("Pass Stack.Push" )
41
+ } else {
42
+ t .Error ("Failed Stack.Push" )
43
+ }
44
+ }
45
+
46
+ func TestStack_Top (t * testing.T ) {
47
+ var mStack Stack
48
+ if _ , err := mStack .Top (); err == nil {
49
+ t .Error ("Failed Stack.Top" )
50
+ }
51
+ mStack .Push (3 )
52
+ if value , _ := mStack .Top (); value == 3 {
53
+ t .Log ("Pass Stack.Top" )
54
+ } else {
55
+ t .Errorf ("Failed Stack.Top, value is %d" , value )
56
+ }
57
+ }
58
+
59
+ func TestStack_Pop (t * testing.T ) {
60
+ var mStack Stack
61
+ if _ , err := mStack .Pop (); err == nil {
62
+ t .Error ("Failed Stack.Top" )
63
+ }
64
+ mStack .Push ("test" )
65
+ mStack .Push (3 )
66
+ if value , _ := mStack .Pop (); value == 3 && mStack .Len () == 1 {
67
+ t .Log ("Pass Stack.Pop" )
68
+ } else {
69
+ t .Errorf ("Failed Stack.Pop, value is %d, len is %d" , value , mStack .Len ())
70
+ }
71
+ }
0 commit comments