From d7f4cb66ad8027b2aeb450d46c0167db0df1cbf8 Mon Sep 17 00:00:00 2001 From: Psyyringe Date: Thu, 12 Nov 2009 17:29:00 +0000 Subject: [PATCH] Psyringe - added test scripts for issues i176 - i182. Again added some more scripts that were written to verify bug reports (but where the card behaved correctly). --- projects/mtg/bin/Res/test/_tests.txt | 6 +++ .../bin/Res/test/bugs/dream_fracture_i142.txt | 35 +++++++++++++ .../bin/Res/test/bugs/ray_of_command_i176.txt | 37 ++++++++++++++ .../Res/test/bugs/shield_of_the_ages_i178.txt | 28 +++++++++++ .../Res/test/bugs/sylvan_basilisk_i182.txt | 49 +++++++++++++++++++ .../test/bugs/triggers_at_movedto_i179.txt | 35 +++++++++++++ projects/mtg/bin/Res/test/enervate.txt | 32 ++++++++++++ projects/mtg/bin/Res/test/farmstead.txt | 36 ++++++++++++++ projects/mtg/bin/Res/test/ray_of_command.txt | 25 ++++++++++ projects/mtg/bin/Res/test/stonebrow2.txt | 27 ++++++++++ projects/mtg/bin/Res/test/twitch.txt | 47 ++++++++++++++++++ projects/mtg/bin/Res/test/vampire_bats.txt | 32 ++++++++++++ 12 files changed, 389 insertions(+) create mode 100644 projects/mtg/bin/Res/test/bugs/dream_fracture_i142.txt create mode 100644 projects/mtg/bin/Res/test/bugs/ray_of_command_i176.txt create mode 100644 projects/mtg/bin/Res/test/bugs/shield_of_the_ages_i178.txt create mode 100644 projects/mtg/bin/Res/test/bugs/sylvan_basilisk_i182.txt create mode 100644 projects/mtg/bin/Res/test/bugs/triggers_at_movedto_i179.txt create mode 100644 projects/mtg/bin/Res/test/enervate.txt create mode 100644 projects/mtg/bin/Res/test/farmstead.txt create mode 100644 projects/mtg/bin/Res/test/ray_of_command.txt create mode 100644 projects/mtg/bin/Res/test/stonebrow2.txt create mode 100644 projects/mtg/bin/Res/test/twitch.txt create mode 100644 projects/mtg/bin/Res/test/vampire_bats.txt diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index 78f1c8b3c..a409c0b2a 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -120,7 +120,9 @@ duskwalker.txt elvish_piper.txt elvish_promenade.txt emblem_of_the_warmind.txt +enervate.txt erg_raiders_i157.txt +farmstead.txt flagstones.txt farhaven_elf.txt fastbond.txt @@ -209,6 +211,7 @@ prowess_of_the_fair3.txt pygmy_troll.txt pyroclasm.txt rampant_growth.txt +ray_of_command.txt reclusive_wight.txt reclusive_wight2.txt recover.txt @@ -247,6 +250,7 @@ steelclad_serpent1.txt steelclad_serpent2.txt stillmoon_cavalier.txt stonebrow_i159.txt +stonebrow2.txt stronghold_discipline.txt sword_to_plowshares.txt symbiotic_wurm.txt @@ -258,10 +262,12 @@ throne_of_bone.txt titanic_ultimatum.txt torture.txt tranquil_domain.txt +twitch.txt unstable_mutation2.txt unwilling_recruit.txt unstable_mutation.txt unstable_mutation2.txt +vampire_bats.txt vampiric_link.txt volcanic_eruption.txt walking_wall.txt diff --git a/projects/mtg/bin/Res/test/bugs/dream_fracture_i142.txt b/projects/mtg/bin/Res/test/bugs/dream_fracture_i142.txt new file mode 100644 index 000000000..f9e078365 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/dream_fracture_i142.txt @@ -0,0 +1,35 @@ +#NAME: Dream Fracture +#DESC: Dream fracture has a Counterspell effect +#DESC: and should also allow the caster and the +#DESC: target controller to draw one card each. +#DESC: Current bug: The caster draws two cards, +#DESC: the target controller none. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=142 +[INIT] +firstmain +[PLAYER1] +hand:Grizzly Bears +library:Forest,Craw Wurm +manapool:{G}{G} +[PLAYER2] +hand:Dream Fracture +library:Swamp,Air Elemental +manapool:{U}{U}{U} +[DO] +Grizzly Bears +no +yes +Dream Fracture +Grizzly Bears +endinterruption +[ASSERT] +firstmain +[PLAYER1] +hand:Forest +graveyard:Grizzly Bears +library:Craw Wurm +[PLAYER2] +hand:Swamp +graveyard:Dream Fracture +library:Air Elemental +[END] diff --git a/projects/mtg/bin/Res/test/bugs/ray_of_command_i176.txt b/projects/mtg/bin/Res/test/bugs/ray_of_command_i176.txt new file mode 100644 index 000000000..760ba66e8 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/ray_of_command_i176.txt @@ -0,0 +1,37 @@ +#NAME: Ray of Command in opponent's turn +#DESC: Bug report: Ray of command is unable +#DESC: to take control of a creature if cast +#DESC: in the opponent's turn. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=176 +[INIT] +firstmain +[PLAYER1] +inplay:Boa Constrictor +hand:Lightning Elemental +manapool:{R}{R}{R}{R} +[PLAYER2] +hand:Ray of Command +manapool:{U}{U}{U}{U} +[DO] +Boa Constrictor +Lightning Elemental +no +yes +Ray of Command +Boa Constrictor +endinterruption +next +next +Lightning Elemental +next +Boa Constrictor +choice 0 +eot +[ASSERT] +untap +[PLAYER1] +inplay:Boa Constrictor +graveyard:Lightning Elemental +[PLAYER2] +graveyard:Ray of Command +[END] diff --git a/projects/mtg/bin/Res/test/bugs/shield_of_the_ages_i178.txt b/projects/mtg/bin/Res/test/bugs/shield_of_the_ages_i178.txt new file mode 100644 index 000000000..3e666fe31 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/shield_of_the_ages_i178.txt @@ -0,0 +1,28 @@ +#NAME: Shield of the Ages +#DESC: Shield of the Ages was hardcoded and +#DESC: probably depended on damage going on +#DESC: the stack. Since this (correctly) doesn't +#DESC: happen any more, SotA has no effect. +#DESC: However, something else must also be +#DESC: going wrong, since SotA wants me to +#DESC: specify a target. It shouldn't. +[INIT] +firstmain +[PLAYER1] +inplay:Shield of the Ages +hand:Shock +manapool:{R}{R}{R} +[PLAYER2] +[DO] +human +Shield of the Ages +Shock +p1 +[ASSERT] +firstmain +[PLAYER1] +inplay:Shield of the Ages +graveyard:Shock +life:19 +[PLAYER2] +[END] diff --git a/projects/mtg/bin/Res/test/bugs/sylvan_basilisk_i182.txt b/projects/mtg/bin/Res/test/bugs/sylvan_basilisk_i182.txt new file mode 100644 index 000000000..abfeab8c3 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/sylvan_basilisk_i182.txt @@ -0,0 +1,49 @@ +#NAME: Sylvan Basilisk +#DESC: Sylvan Basilisk should *only* destroy +#DESC: creatures blocking it (not creatures +#DESC: blocked *by* it), and it should destroy +#DESC: these at the end of the "Declare Blockers" +#DESC: step, so it never takes any damage from +#DESC: them. Nevertheless it should not deal +#DESC: damage to the opponent if it had been +#DESC: blocked at some point (unless it has +#DESC: Trample). +#DESC: In the script, the Sylvan Basilisk blocks +#DESC: a Giant Spider (which should survive), +#DESC: then gets blocked by Gosta Dirk (who +#DESC: should be destroyed without having a +#DESC: chance to kill the Sylvan Basilisk), and +#DESC: then the Sylvan Basilisk should not deal +#DESC: any damage to player 0. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=182 +[INIT] +combatattackers +[PLAYER1] +inplay:Giant Spider,Gosta Dirk +[PLAYER2] +inplay:Sylvan Basilisk +library:Forest +[DO] +Giant Spider +next +Sylvan Basilisk +eot +next +next +next +next +next +Sylvan Basilisk +next +Gosta Dirk +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Giant Spider +graveyard:Gosta Dirk +[PLAYER2] +inplay:Sylvan Basilisk +hand:Forest +[END] diff --git a/projects/mtg/bin/Res/test/bugs/triggers_at_movedto_i179.txt b/projects/mtg/bin/Res/test/bugs/triggers_at_movedto_i179.txt new file mode 100644 index 000000000..3173de8f0 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/triggers_at_movedto_i179.txt @@ -0,0 +1,35 @@ +#NAME: Triggers at movedTo ... +#DESC: Trigers like this one: +#DESC: auto=@movedTo(creature|battlefield):life:1 +#DESC: should trigger when a creature gets summoned, +#DESC: but not when its controller changes. +#DESC: The script tests this on Soul Warden. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=179 +[INIT] +firstmain +[PLAYER1] +hand:Soul Warden,Persuasion,Raging Goblin,Boomerang +manapool:{W}{R}{U}{U}{U}{U}{U}{U}{U} +[PLAYER2] +inplay:Grizzly Bears +[DO] +# Soul Warden should NOT trigger upon itself: +Soul Warden +# Soul Warden SHOULD trigger upon summoning another creature: +Raging Goblin +# Soul Warden should NOT trigger upon controller change: +Persuasion +Grizzly Bears +# Soul Warden should NOT trigger upon controller change: +Boomerang +Persuasion +[ASSERT] +firstmain +[PLAYER1] +inplay:Soul Warden,Raging Goblin +hand:Persuasion +graveyard:Boomerang +life:21 +[PLAYER2] +inplay:Grizzly Bears +[END] diff --git a/projects/mtg/bin/Res/test/enervate.txt b/projects/mtg/bin/Res/test/enervate.txt new file mode 100644 index 000000000..8a0956e19 --- /dev/null +++ b/projects/mtg/bin/Res/test/enervate.txt @@ -0,0 +1,32 @@ +#NAME: Enervate +#DESC: Tests whether Enervate can tap a creature +#DESC: (and whether the "draw card" aspect works). +#DESC: If Enervate cannot target the Prodigal +#DESC: Sorcerer, then PS will target itself and +#DESC: go to the graveyard. +#DESC: If Enervate can target but cannot tap the +#DESC: PS, the the PS will do 1 damage to player 2. +[INIT] +firstmain +[PLAYER1] +inplay:Prodigal Sorcerer +hand:Enervate +library:Island +manapool:{U}{U} +[PLAYER2] +[DO] +Enervate +Prodigal Sorcerer +Prodigal Sorcerer +p2 +eot +next +[ASSERT] +upkeep +[PLAYER1] +inplay:Prodigal Sorcerer +graveyard:Enervate +hand:Island +[PLAYER2] +life:20 +[END] diff --git a/projects/mtg/bin/Res/test/farmstead.txt b/projects/mtg/bin/Res/test/farmstead.txt new file mode 100644 index 000000000..5f05d8de8 --- /dev/null +++ b/projects/mtg/bin/Res/test/farmstead.txt @@ -0,0 +1,36 @@ +#NAME: Farmstead +#DESC: Tests whether Farmstead correctly +#DESC: gives its ability to the land it +#DESC: enchants, and if it can be used +#DESC: only once (as it should). +[INIT] +secondmain +[PLAYER1] +inplay:129680,129681,129682,1395,1396 +hand:Farmstead +manapool:{W}{W}{W} +[PLAYER2] +library:Swamp +[DO] +Farmstead +129680 +Farmstead +eot +eot +next +129681 +129682 +Farmstead +1395 +1396 +Farmstead +129680 +[ASSERT] +upkeep +[PLAYER1] +inplay:129680,129681,129682,1395,1396,Farmstead +manapool:{W}{W}{W} +life:21 +[PLAYER2] +hand:Swamp +[END] diff --git a/projects/mtg/bin/Res/test/ray_of_command.txt b/projects/mtg/bin/Res/test/ray_of_command.txt new file mode 100644 index 000000000..52c4cc9de --- /dev/null +++ b/projects/mtg/bin/Res/test/ray_of_command.txt @@ -0,0 +1,25 @@ +#NAME: Ray of Command +#DESC: Tests whether Ray of Command can +#DESC: take control of an enemy creature, +#DESC: use it to attack, and return it to +#DESC: its controller at and of turn. +[INIT] +combatattackers +[PLAYER1] +hand:Ray of Command +manapool:{U}{U}{U}{U} +[PLAYER2] +inplay:Grizzly Bears +[DO] +Ray of Command +Grizzly Bears +Grizzly Bears +eot +[ASSERT] +untap +[PLAYER1] +graveyard:Ray of Command +[PLAYER2] +inplay:Grizzly Bears +life:18 +[END] diff --git a/projects/mtg/bin/Res/test/stonebrow2.txt b/projects/mtg/bin/Res/test/stonebrow2.txt new file mode 100644 index 000000000..9e44c76a1 --- /dev/null +++ b/projects/mtg/bin/Res/test/stonebrow2.txt @@ -0,0 +1,27 @@ +#NAME: Stonebrow bonus +#DESC: Summoning was suspected to not work +#DESC: correctly - but apparently he does. +#DESC: In the test situation he should pump +#DESC: himself and the War Mammoth, but not +#DESC: the Grizzly Bears. +[INIT] +combatattackers +[PLAYER1] +inplay:118915,War Mammoth,Grizzly Bears +[PLAYER2] +[DO] +118915 +War Mammoth +Grizzly Bears +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:118915,War Mammoth,Grizzly Bears +hand: +manapool: +[PLAYER2] +life:7 +[END] diff --git a/projects/mtg/bin/Res/test/twitch.txt b/projects/mtg/bin/Res/test/twitch.txt new file mode 100644 index 000000000..8459c3cd7 --- /dev/null +++ b/projects/mtg/bin/Res/test/twitch.txt @@ -0,0 +1,47 @@ +#NAME: Twitch +#DESC: Tests the "Tap" and "Untap" ability +#DESC: of Twitch. +#DESC: Both players should suffer 1 damage. +#DESC: If p1 suffers no damage, then Untap +#DESC: hasn't worked. +#DESC: If p2 suffers 2 damage, then Tap +#DESC: hasn't worked. +[INIT] +firstmain +[PLAYER1] +inplay:Prodigal Sorcerer,Prodigal Pyromancer +hand:Twitch,Twitch +library:Island,Island +manapool:{U}{U}{U}{U}{U}{U} +[PLAYER2] +[DO] +# Use Twitch to tap one of the sorcerers, then try +# to activate both and damage p2. Only one sorcerer +# should be able to do damage. +Twitch +choice 1 +Prodigal Sorcerer +Prodigal Sorcerer +p2 +Prodigal Pyromancer +p2 +# Use Twitch to untap a sorcerer, then try to activate +# both and damage p1. Exactly one sorcerer should be +# able to do damage. +Twitch +choice 0 +Prodigal Sorcerer +Prodigal Sorcerer +p1 +Prodigal Pyromancer +p1 +[ASSERT] +firstmain +[PLAYER1] +inplay:Prodigal Sorcerer,Prodigal Pyromancer +graveyard:Twitch,Twitch +hand:Island,Island +life:19 +[PLAYER2] +life:19 +[END] diff --git a/projects/mtg/bin/Res/test/vampire_bats.txt b/projects/mtg/bin/Res/test/vampire_bats.txt new file mode 100644 index 000000000..27a6a5e16 --- /dev/null +++ b/projects/mtg/bin/Res/test/vampire_bats.txt @@ -0,0 +1,32 @@ +#NAME: Vampire Bats +#DESC: Vampire Bats should be pump-able, +#DESC: but only twice per turn at max. +[INIT] +firstmain +[PLAYER1] +inplay:Vampire Bats,Swamp +manapool:{B}{B}{B} +[PLAYER2] +[DO] +# Pumping bats two times - this should work: +Vampire Bats +Vampire Bats +# Pumping them a third time - this shouldn't work +Vampire Bats +next +# Pumping them a third time in a different phase +# - this shouldn't work either +Swamp +Vampire Bats +next +Vampire Bats +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Vampire Bats,Swamp +[PLAYER2] +life:18 +[END]