Added test for structs within structs

master
Patrick Mylund Nielsen 13 years ago
parent fdcb2f0aa6
commit 132462db11

@ -6,6 +6,11 @@ import (
"time" "time"
) )
type TestStruct struct {
Num int
Children []*TestStruct
}
func TestCache(t *testing.T) { func TestCache(t *testing.T) {
tc := New(0, 0) tc := New(0, 0)
@ -97,10 +102,6 @@ func TestCacheTimes(t *testing.T) {
} }
} }
type TestStruct struct {
Num int
}
func TestStorePointerToStruct(t *testing.T) { func TestStorePointerToStruct(t *testing.T) {
tc := New(0, 0) tc := New(0, 0)
tc.Set("foo", &TestStruct{Num: 1}, 0) tc.Set("foo", &TestStruct{Num: 1}, 0)
@ -474,6 +475,10 @@ func testFillAndSerialize(t *testing.T, tc *Cache) {
&TestStruct{Num: 4}, &TestStruct{Num: 4},
&TestStruct{Num: 5}, &TestStruct{Num: 5},
}, 0) }, 0)
tc.Set("structception", &TestStruct{
Num: 42,
Children: []*TestStruct{&TestStruct{Num: 6174},},
}, 0)
tc.Set("c", "c", 0) // ordering should be meaningless, but just in case tc.Set("c", "c", 0) // ordering should be meaningless, but just in case
fp := &bytes.Buffer{} fp := &bytes.Buffer{}
@ -549,6 +554,18 @@ func testFillAndSerialize(t *testing.T, tc *Cache) {
if s3r[1].Num != 5 { if s3r[1].Num != 5 {
t.Error("s3r[1].Num is not 5") t.Error("s3r[1].Num is not 5")
} }
s4, found := oc.get("structception")
if !found {
t.Error("structception was not found")
}
s4r := s4.(*TestStruct)
if len(s4r.Children) != 1 {
t.Error("Length of s4r.Children is not 1")
}
if s4r.Children[0].Num != 6174 {
t.Error("s4r.Children[0].Num is not 6174")
}
} }
func TestSerializeUnserializable(t *testing.T) { func TestSerializeUnserializable(t *testing.T) {

Loading…
Cancel
Save