def test_tokens_with_abilities(self, parse_card): assert parse_card("Horncaller's Chant") == [ Token('Rhino', '4/4', 'green', abilities='trample'), ] assert parse_card("Spider Spawning") == [ Token('Spider', '1/2', 'green', abilities='reach'), ]
def test_tokens_that_generate_tokens(self, parse_card): assert parse_card('Mitotic Slime') == [ Token('Ooze', '2/2', 'green', abilities=('"When this creature dies, put two 1/1 green ' 'Ooze creature tokens onto the battlefield."')), Token('Ooze', '1/1', 'green') ]
def test_multiple_tokens(self, parse_card, wolf, elephant): assert parse_card("One Dozen Eyes") == [ Token('Beast', '5/5', 'green'), Token('Insect', '1/1', 'green'), ] assert parse_card("Bestial Menace") == [ Token('Snake', '1/1', 'green'), wolf, elephant, ]
def gutter_grime(): return Token('Ooze', '*/*', 'green', abilities=('"This creature\'s power and toughness are ' 'each equal to the number of slime counters ' 'on Gutter Grime."'))
def test_tokens_with_multiple_abilities(self, parse_card): assert parse_card("Hornet Queen") == [ Token('Insect', '1/1', 'green', abilities='flying and deathtouch') ]
def snake(): return Token('Snake', '1/1', 'green')
def squirrel(): return Token('Squirrel', '1/1', 'green')
def hammer_golem(self): return Token('Golem', '3/3', 'colorless', extra_card_types='enchantment artifact')
def test_multi_color_and_multi_class(self, parse_card, rg_goblin_warrior): assert parse_card('Wort, the Raidmother') == [rg_goblin_warrior] assert parse_card('Mercy Killing') == [ Token('Elf Warrior', '1/1', 'green and white') ]
def elf_warrior(self): return Token('Elf Warrior', '1/1', 'green')
def rg_goblin_warrior(self): return Token('Goblin Warrior', '1/1', 'red and green')
def test_multiple_tokens_with_abilities(self, parse_card): assert parse_card("Trostani's Summoner") == [ Token('Knight', '2/2', 'white', abilities='vigilance'), Token('Centaur', '3/3', 'green'), Token('Rhino', '4/4', 'green', abilities='trample'), ]
def saproling(): return Token('Saproling', '1/1', 'green')
def ooze(): return Token('Ooze', 'X/X', 'green')
def myr(): return Token('Myr', '1/1', 'colorless', extra_card_types='artifact')
def golem(): return Token('Golem', '3/3', 'colorless', extra_card_types='artifact')
def elephant(): return Token('Elephant', '3/3', 'green')
def wolf(): return Token('Wolf', '2/2', 'green')
def soldier(): return Token('Soldier', '1/1', 'white')
def angel(): return Token('Angel', '4/4', 'white', abilities='flying')