package game import ( "strings" "testing" ) func TestParalysis(t *testing.T) { mapDef := `map: |+1 H symbols: H: house ` s, _, p, _ := newMockState() m, _ := readMap(strings.NewReader(mapDef)) s.SetMap(m) u := s.addNewUnit(NewCard("base/archer"), Position{0, 0}, p) u.tap() u.adjustMarks(UnitStates.Paralysis, 1) u.onUpkeep() as := u.AvailSlowActions() if len(as) > 0 { t.Fatal("unexpected slow actions available") } if u.Marks(UnitStates.Paralysis) > 0 { t.Fatal("unit still paralysed") } } func TestPoison(t *testing.T) { u := NewUnit(NewCard("base/pioneer"), NewMockTile(), NewMockPlayer()) u.tap() u.adjustMarks(UnitStates.Poison, 1) u.onUpkeep() if u.Marks(UnitStates.Poison) != 2 { t.Fatal("poison marks did not spread") } if u.IsDestroyed() { t.Fatal("destroyed by poison") } u.adjustMarks(UnitStates.Poison, 10) if !u.IsDestroyed() { t.Fatal("not destroyed by poison") } }