Browse code

pkg: stringutils: Add more tests to strslice

Signed-off-by: Antonio Murdaca <runcom@linux.com>

Antonio Murdaca authored on 2015/09/02 03:12:05
Showing 1 changed files
... ...
@@ -2,6 +2,7 @@ package stringutils
2 2
 
3 3
 import (
4 4
 	"encoding/json"
5
+	"reflect"
5 6
 	"testing"
6 7
 )
7 8
 
... ...
@@ -103,3 +104,32 @@ func TestStrSliceToString(t *testing.T) {
103 103
 		}
104 104
 	}
105 105
 }
106
+
107
+func TestStrSliceLen(t *testing.T) {
108
+	var emptyStrSlice *StrSlice
109
+	slices := map[*StrSlice]int{
110
+		NewStrSlice(""):           1,
111
+		NewStrSlice("one"):        1,
112
+		NewStrSlice("one", "two"): 2,
113
+		emptyStrSlice:             0,
114
+	}
115
+	for s, expected := range slices {
116
+		if s.Len() != expected {
117
+			t.Fatalf("Expected %d, got %d", s.Len(), expected)
118
+		}
119
+	}
120
+}
121
+
122
+func TestStrSliceSlice(t *testing.T) {
123
+	var emptyStrSlice *StrSlice
124
+	slices := map[*StrSlice][]string{
125
+		NewStrSlice("one"):        {"one"},
126
+		NewStrSlice("one", "two"): {"one", "two"},
127
+		emptyStrSlice:             nil,
128
+	}
129
+	for s, expected := range slices {
130
+		if !reflect.DeepEqual(s.Slice(), expected) {
131
+			t.Fatalf("Expected %v, got %v", s.Slice(), expected)
132
+		}
133
+	}
134
+}