price-is-wrong/src/state/lobby/event_test.go

37 lines
648 B
Go

package lobby_test
import (
"gitea/price-is-wrong/src/state/lobby"
"testing"
)
func TestMarshalUnmarshal(t *testing.T) {
cases := map[string]struct {
e lobby.Event
}{
"PlayerJoin": {e: lobby.PlayerJoin{ID: 1}},
"PlayerLeave": {e: lobby.PlayerLeave{ID: 1}},
}
for name, d := range cases {
c := d
t.Run(name, func(t *testing.T) {
b, err := lobby.MarshalEvent(c.e)
if err != nil {
t.Fatal(err)
}
t.Logf("marshalled: %s", b)
e, err := lobby.ParseEvent(b)
if err != nil {
t.Fatal(err)
}
t.Logf("unmarshalled: %+v", e)
if c.e != e {
t.Errorf("expected %+v but got %+v", c.e, e)
}
})
}
}