aboutsummaryrefslogtreecommitdiff
path: root/go/game/cardImplementations_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/cardImplementations_test.go')
-rw-r--r--go/game/cardImplementations_test.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/go/game/cardImplementations_test.go b/go/game/cardImplementations_test.go
index 9b356c5b..3a6ea9e2 100644
--- a/go/game/cardImplementations_test.go
+++ b/go/game/cardImplementations_test.go
@@ -515,3 +515,50 @@ func TestNo(t *testing.T) {
t.Fatal("Approach not countered")
}
}
+
+func TestRelic(t *testing.T) {
+ s, _, p, o := newMockState()
+ p.Resource = 0
+ o.Resource = 0
+ s.addNewArtifact(NewCard("equipments/relic"), Position{0, 0}, p)
+
+ s.changePhase(upkeepPhase)
+ if !s.stack.IsEmpty() {
+ t.Fatal("Unexpected relic trigger")
+ }
+
+ s.addNewUnit(NewCard("base/archer"), Position{0, 1}, p)
+
+ s.changePhase(upkeepPhase)
+ if s.stack.IsEmpty() {
+ t.Fatal("Relic not triggered")
+ }
+ s.stack.pop()
+ if p.Resource != 1 {
+ t.Fatal("player did not gain 1 resource")
+ }
+
+ s.addNewUnit(NewCard("base/archer"), Position{1, 1}, o)
+ s.changePhase(upkeepPhase)
+ if s.stack.IsEmpty() {
+ t.Fatal("Relic not triggered")
+ }
+ s.stack.pop()
+ if p.Resource != 2 && o.Resource != 1 {
+ t.Fatal("player and opponent did not gain 1 resource each")
+ }
+
+ s.addNewUnit(NewCard("base/archer"), Position{1, 0}, o)
+ s.changePhase(upkeepPhase)
+ if s.stack.IsEmpty() {
+ t.Fatal("Relic not triggered")
+ }
+ s.stack.pop()
+ if p.Resource != 2 {
+ t.Fatal("player resource changed")
+ }
+
+ if o.Resource != 2 {
+ t.Fatal("opponent did not gain 1 resource")
+ }
+}