aboutsummaryrefslogtreecommitdiff
path: root/go/game/playerControl_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/playerControl_test.go')
-rw-r--r--go/game/playerControl_test.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/go/game/playerControl_test.go b/go/game/playerControl_test.go
new file mode 100644
index 00000000..34f20c59
--- /dev/null
+++ b/go/game/playerControl_test.go
@@ -0,0 +1,56 @@
+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()))
+ }
+}