func TestRoundTrip(t *testing.T) { var record ff.Everything var recordTripped ff.Everything ff.NewEverything(&record) buf1, err := json.Marshal(&record) if err != nil { t.Fatalf("Marshal: %v", err) } err = json.Unmarshal(buf1, &recordTripped) if err != nil { t.Fatalf("Unmarshal: %v", err) } good := reflect.DeepEqual(record, recordTripped) if !good { t.Fatalf("Expected: %v\n Got: %v", record, recordTripped) } }
func TestRoundTrip(t *testing.T) { var record ff.Everything var recordTripped ff.Everything ff.NewEverything(&record) buf1, err := json.Marshal(&record) if err != nil { t.Fatalf("Marshal: %v", err) } recordTripped.MySweetInterface = &ff.Cats{} err = json.Unmarshal(buf1, &recordTripped) if err != nil { t.Fatalf("Unmarshal: %v", err) } good := reflect.DeepEqual(record.FooStruct, recordTripped.FooStruct) if !good { t.Fatalf("Expected: %v\n Got: %v", *record.FooStruct, *recordTripped.FooStruct) } record.FooStruct = nil recordTripped.FooStruct = nil good = reflect.DeepEqual(record, recordTripped) if !good { t.Fatalf("Expected: %v\n Got: %v", record, recordTripped) } if recordTripped.SuperBool != true { t.Fatal("Embeded struct didn't Unmarshal") } if recordTripped.Something != 99 { t.Fatal("Embeded nonexported-struct didn't Unmarshal") } }