aboutsummaryrefslogtreecommitdiff
path: root/go/game/cardImplementations_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-09-03 12:37:52 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2025-09-03 12:39:42 +0200
commit67faa0f3bf6fb047d19372c9b671a45887b99f6e (patch)
tree359daa9bf5f3ccd04678598b6fa17e60d5fcc768 /go/game/cardImplementations_test.go
parent1f6b30ebec826fe886829c2618ed0b109009e3b8 (diff)
downloadmuhqs-game-67faa0f3bf6fb047d19372c9b671a45887b99f6e.tar.gz
muhqs-game-67faa0f3bf6fb047d19372c9b671a45887b99f6e.zip
implement the patrician
Diffstat (limited to 'go/game/cardImplementations_test.go')
-rw-r--r--go/game/cardImplementations_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/go/game/cardImplementations_test.go b/go/game/cardImplementations_test.go
index eb3ec567..4a353443 100644
--- a/go/game/cardImplementations_test.go
+++ b/go/game/cardImplementations_test.go
@@ -256,3 +256,43 @@ func TestBanner(t *testing.T) {
t.Fatal("wormtongue not sped up by banner")
}
}
+
+func TestPatrician(t *testing.T) {
+ s, _, player, _ := newMockState()
+ p := s.addNewUnit(NewCard("exp1/patrician"), Position{1, 0}, player)
+ fas := p.FreeActions
+ if len(fas) != 5 {
+ t.Fatal("patrician does not have 5 free actions")
+ }
+
+ player.Resource = 5
+ s.declareAction(fas[0])
+ if player.Resource != 3 {
+ t.Fatal("patrician move did not cost 2 resource")
+ }
+ s.stack.pop()
+ if p.Movement.Range != 2 {
+ t.Fatal("patrician movement is not increased")
+ }
+
+ player.Resource = 5
+ s.declareAction(fas[1])
+ if player.Resource != 2 {
+ t.Fatal("patrician attack did not cost 3 resource")
+ }
+ s.stack.pop()
+ if p.Attack.DamageInRange(1) != 1 {
+ t.Fatal("patrician has no melee")
+ }
+
+ player.Resource = 5
+ s.declareAction(fas[2])
+ if player.Resource != 0 {
+ t.Fatal("patrician armor did not cost 5 resource")
+ }
+ s.stack.pop()
+ x, err := p.XEffect("armor")
+ if err != nil || x != 1 {
+ t.Fatal("patrician has no armor")
+ }
+}