package game import ( "testing" ) const PRORITY_STRING = "!priority{}" func TestMarshalPriority(t *testing.T) { exp := PRORITY_STRING n := newPriorityNotification() is := string(n.Marshal(nil)) if is != exp { t.Fatalf("expected string %s does not match %s\n", exp, is) } } func TestUnmarshalPriority(t *testing.T) { in := PRORITY_STRING n, err := UnmarshalPlayerNotification(nil, []byte(in)) if err != nil { t.Fatal(err) } if n.Notification != PriorityNotification { t.Fatalf("expexted PriorityNotificaton not %s", n.Notification) } } const PICK_STRING = "!pick{[base/archer, magic/more!]}" func TestMarshalPick(t *testing.T) { exp := PICK_STRING poc := NewPileOfCards() poc.AddCard(NewCard("base/archer")) poc.AddCard(NewCard("magic/more!")) n := newDraftPickPrompt(poc) is := string(n.Marshal(nil)) if is != exp { t.Fatalf("expected string %s does not match %s\n", exp, is) } } func TestUnmarshalPick(t *testing.T) { in := PICK_STRING n, err := UnmarshalPlayerNotification(nil, []byte(in)) if err != nil { t.Fatal(err) } if n.Notification != DraftPickPrompt { t.Fatalf("expexted DraftPickPrompt not %s", n.Notification) } pack := n.Context.(PileOfCards) if len(pack.Cards()) != 2 { t.Fatalf("expexted two cards in pack not %d", len(pack.Cards())) } }