func testKeyVersions(t *testing.T, vb *common.VbKeyVersions) { var data []byte var err error var payload interface{} vbsRef := []*common.VbKeyVersions{vb} if data, err = protobufEncode(vbsRef); err != nil { t.Fatal(err) } if payload, err = protobufDecode(data); err != nil { t.Fatal(err) } val, ok := payload.([]*protobuf.VbKeyVersions) if ok == false { t.Fatal("expected slice of reference to KeyVersions object") } vbs := protobuf2VbKeyVersions(val) for i, vb := range vbsRef { if vb.Equal(vbs[i]) == false { t.Fatal("failed protobuf encoding") } } }