package skylab import ( "testing" "encoding/json" ) {{ range .Packets }} {{- $structName := camelCase .Name true}} func TestMarshalUnmarshal{{$structName}}(t *testing.T) { v := &{{$structName}}{} bin, err := v.MarshalPacket() if err != nil { t.Fatal(err) } err = v.UnmarshalPacket(bin) if err != nil { t.Fatal(err) } } func TestJSON{{$structName}}(t *testing.T) { v := &{{$structName}}{} rawData, err := json.Marshal(v) if err != nil { t.Fatal(err) } id, _ := v.CANId() p, err := FromJson(id, rawData) if err != nil { t.Fatal(err) } switch underlying := p.(type) { case *{{$structName}}: break default: t.Fatalf("didn't match type: %T, %v", underlying, underlying) } } {{- end }}