package moves import ( "encoding/json" "testing" ) func TestCheckZeroValueFails(t *testing.T) { var c Check if c.OK { t.Fatal("a zero Check must not be OK") } if c.Reason != "" { t.Fatalf("zero reason %q", c.Reason) } } func TestCheckJSONWireNames(t *testing.T) { b, err := json.Marshal(Check{OK: true, Reason: "r"}) if err != nil { t.Fatal(err) } if string(b) != `{"ok":true,"reason":"r"}` { t.Fatalf("wire form %s", b) } var back Check if err := json.Unmarshal([]byte(`{"ok":false,"reason":"why"}`), &back); err != nil { t.Fatal(err) } if back.OK || back.Reason != "why" { t.Fatalf("round trip %+v", back) } var zero Check if err := json.Unmarshal([]byte(`{}`), &zero); err != nil || zero.OK { t.Fatalf("empty object read as %+v, %v", zero, err) } }