def testUTF8Name(self): turn_info = parse_game.parse_turn(u"""--- Görling's turn 1 --- Görling plays 3 <span class=card-treasure>Coppers</span>. Görling buys a <span class=card-none>Workshop</span>. <span class=logonly>(Görling draws: an <span class=card-victory>Estate</span> and 4 <span class=card-treasure>Coppers</span>.)</span> """) self.assertEquals(turn_info['name'], u'Görling') self.assertEquals(turn_info['money'], 3)
def testAmbassador4(self): turn_info = parse_game.parse_turn("""--- rrenaud's turn 4 --- rrenaud plays an <span class=card-none>Ambassador</span>. ... revealing 2 <span class=card-treasure>Coppers</span> and returning them to the supply. ... Torgen gains a <span class=card-treasure>Copper</span>. """) self.assertEquals(turn_info['returns'], ['Copper', 'Copper'])
def testUTF8Name(self): turn_info = parse_game.parse_turn(u"""--- Görling's turn 1 --- Görling plays 3 <span class=card-treasure>Coppers</span>. Görling buys a <span class=card-none>Workshop</span>. <span class=logonly>(Görling draws: an <span class=card-victory>Estate</span> and 4 <span class=card-treasure>Coppers</span>.)</span> """ ) self.assertEquals(turn_info['name'], u'Görling') self.assertEquals(turn_info['money'], 3)
def testAmbassador4(self): turn_info = parse_game.parse_turn( """--- rrenaud's turn 4 --- rrenaud plays an <span class=card-none>Ambassador</span>. ... revealing 2 <span class=card-treasure>Coppers</span> and returning them to the supply. ... Torgen gains a <span class=card-treasure>Copper</span>. """) self.assertEquals(turn_info['returns'], ['Copper', 'Copper'])
def testChapelTurn(self): turn_info = parse_game.parse_turn(u"""--- Kiyogi's turn 4 --- Kiyogi plays a <span class=card-none>Chapel</span>. ... trashing 2 <span class=card-treasure>Coppers</span>. (Kiyogi reshuffles.)""") self.assertEquals(turn_info['plays'], ['Chapel']) self.assertEquals(turn_info['trashes'], ['Copper', 'Copper']) self.assertTrue('opp' not in turn_info)
def testAmbassador3(self): turn_info = parse_game.parse_turn(""" --- hughes's turn 6 --- hughes plays an <span class=card-none>Ambassador</span>. ... hughes reveals a <span class=card-treasure>Copper</span>. ... returning it to the supply. ... Talia gains a <span class=card-treasure>Copper</span>.""") self.assertEquals(turn_info['returns'], ['Copper']) self.assertEquals(turn_info['opp']['Talia']['gains'], ['Copper'])
def testBankTurn(self): turn_info = parse_game.parse_turn(u""" --- Maculus's turn 10 --- Maculus plays a <span class=card-treasure>Silver</span>, 2 <span class=card-treasure>Coppers</span>, and a <span class=card-treasure>Gold</span>. Maculus plays a <span class=card-treasure>Bank</span>. ... which is worth +$5. Maculus buys a <span class=card-victory>Province</span>. <span class=logonly>(Maculus draws: an <span class=card-victory>Estate</span>, a <span class=card-none>Bridge</span>, 2 <span class=card-treasure>Coppers</span>, and a <span class=card-treasure>Silver</span>.)</span>""") self.assertEquals(turn_info['money'], 12)
def testChapelTurn(self): turn_info = parse_game.parse_turn( u"""--- Kiyogi's turn 4 --- Kiyogi plays a <span class=card-none>Chapel</span>. ... trashing 2 <span class=card-treasure>Coppers</span>. (Kiyogi reshuffles.)""") self.assertEquals(turn_info['plays'], ['Chapel']) self.assertEquals(turn_info['trashes'], ['Copper', 'Copper']) self.assertTrue('opp' not in turn_info)
def testBishopTurn3(self): turn_info = parse_game.parse_turn(""" --- kristi's turn 4 --- kristi plays a <span class=card-none>Bishop</span>. ... getting +$1 and +1 ▼. ... kristi trashes an <span class=card-victory>Estate</span> and gets +1 ▼. ... rrenaud trashes a <span class=card-treasure>Copper</span>.""") self.assertEquals(turn_info['trashes'], ['Estate']) self.assertEquals(turn_info['opp']['rrenaud']['trashes'], ['Copper']) self.assertEquals(turn_info['money'], 1)
def testAmbassador3(self): turn_info = parse_game.parse_turn( """ --- hughes's turn 6 --- hughes plays an <span class=card-none>Ambassador</span>. ... hughes reveals a <span class=card-treasure>Copper</span>. ... returning it to the supply. ... Talia gains a <span class=card-treasure>Copper</span>.""") self.assertEquals(turn_info['returns'], ['Copper']) self.assertEquals(turn_info['opp']['Talia']['gains'], ['Copper'])
def testSeaHagTurn2(self): turn_info = parse_game.parse_turn(""" --- Kemps's turn 6 --- Kemps plays a <span class=card-none>Sea Hag</span>. ... BaconSnake discards nothing and gains a <span class=card-curse>Curse</span> on top of the deck. Kemps plays a <span class=card-treasure>Copper</span> and a <span class=card-treasure>Quarry</span>. Kemps buys a <span class=card-none>Cutpurse</span>. """) self.assertEquals(turn_info['opp']['BaconSnake']['gains'], ['Curse']) self.assertEquals(turn_info['money'], 2)
def testLookoutTurn(self): turn_info = parse_game.parse_turn("""--- toaster's turn 9 --- toaster plays a <span class=card-none>Lookout</span>. ... getting +1 action. ... (toaster reshuffles.) ... drawing 3 cards. ... trashing a <span class=card-treasure>Copper</span>. ... discarding a <span class=card-treasure>Copper</span>. ... putting a card back on the deck.""") self.assertEquals(turn_info['trashes'], ['Copper'])
def testParseTurn(self): turn_info = parse_game.parse_turn(u"""--- Hawk's turn 3 --- Hawk plays 3 <span class=card-treasure>Coppers</span>. Hawk buys a <span class=card-treasure>Silver</span>. <span class=logonly>(Hawk draws: an <span class=card-victory>Estate</span> and 4 <span class=card-treasure>Coppers</span>.)</span> """) self.assertEquals(turn_info['name'], 'Hawk') self.assertEquals(turn_info['plays'], ['Copper', 'Copper', 'Copper']) self.assertEquals(turn_info['buys'], ['Silver']) self.assertEquals(turn_info['money'], 3)
def testBankTurn(self): turn_info = parse_game.parse_turn(u""" --- Maculus's turn 10 --- Maculus plays a <span class=card-treasure>Silver</span>, 2 <span class=card-treasure>Coppers</span>, and a <span class=card-treasure>Gold</span>. Maculus plays a <span class=card-treasure>Bank</span>. ... which is worth +$5. Maculus buys a <span class=card-victory>Province</span>. <span class=logonly>(Maculus draws: an <span class=card-victory>Estate</span>, a <span class=card-none>Bridge</span>, 2 <span class=card-treasure>Coppers</span>, and a <span class=card-treasure>Silver</span>.)</span>""" ) self.assertEquals(turn_info['money'], 12)
def testTradingPostTurn(self): turn_info = parse_game.parse_turn( """--- Apollo's turn 11 --- Apollo plays a <span class=card-none>Trading Post</span>. ... Apollo trashes a <span class=card-treasure>Copper</span> and an <span class=card-victory>Estate</span>, gaining a <span class=card-treasure>Silver</span> in hand. Apollo plays a <span class=card-treasure>Copper</span> and a <span class=card-treasure>Silver</span>. Apollo buys a <span class=card-treasure>Silver</span>. (Apollo reshuffles.) <span class=logonly>(Apollo draws: 2 <span class=card-curse>Curses</span>, a <span class=card-treasure>Copper</span>, a <span class=card-none>Trading Post</span>, and a <span class=card-none>Laboratory</span>.)</span>""") self.assertEquals(turn_info['trashes'], ['Copper', 'Estate']) self.assertEquals(turn_info['money'], 3)
def testBishopTurn3(self): turn_info = parse_game.parse_turn( """ --- kristi's turn 4 --- kristi plays a <span class=card-none>Bishop</span>. ... getting +$1 and +1 ▼. ... kristi trashes an <span class=card-victory>Estate</span> and gets +1 ▼. ... rrenaud trashes a <span class=card-treasure>Copper</span>.""") self.assertEquals(turn_info['trashes'], ['Estate']) self.assertEquals(turn_info['opp']['rrenaud']['trashes'], ['Copper']) self.assertEquals(turn_info['money'], 1)
def testTradingPostTurn(self): turn_info = parse_game.parse_turn("""--- Apollo's turn 11 --- Apollo plays a <span class=card-none>Trading Post</span>. ... Apollo trashes a <span class=card-treasure>Copper</span> and an <span class=card-victory>Estate</span>, gaining a <span class=card-treasure>Silver</span> in hand. Apollo plays a <span class=card-treasure>Copper</span> and a <span class=card-treasure>Silver</span>. Apollo buys a <span class=card-treasure>Silver</span>. (Apollo reshuffles.) <span class=logonly>(Apollo draws: 2 <span class=card-curse>Curses</span>, a <span class=card-treasure>Copper</span>, a <span class=card-none>Trading Post</span>, and a <span class=card-none>Laboratory</span>.)</span>""" ) self.assertEquals(turn_info['trashes'], ['Copper', 'Estate']) self.assertEquals(turn_info['money'], 3)
def testParseTurn(self): turn_info = parse_game.parse_turn( u"""--- Hawk's turn 3 --- Hawk plays 3 <span class=card-treasure>Coppers</span>. Hawk buys a <span class=card-treasure>Silver</span>. <span class=logonly>(Hawk draws: an <span class=card-victory>Estate</span> and 4 <span class=card-treasure>Coppers</span>.)</span> """) self.assertEquals(turn_info['name'], 'Hawk') self.assertEquals(turn_info['plays'], ['Copper', 'Copper', 'Copper']) self.assertEquals(turn_info['buys'], ['Silver']) self.assertEquals(turn_info['money'], 3)
def testBishopTurn2(self): turn_info = parse_game.parse_turn("""--- rrenaud's turn 3 --- rrenaud plays a <span class=card-none>Bishop</span>. ... getting +$1 and +1 ▼. ... rrenaud trashes an <span class=card-victory>Estate</span> and gets +1 ▼. ... kristi trashes nothing. rrenaud plays 3 <span class=card-treasure>Coppers</span>. rrenaud buys a <span class=card-none>Throne Room</span>.""") self.assertEquals(turn_info['trashes'], ['Estate']) self.assertTrue('opp' not in turn_info) self.assertEquals(turn_info['money'], 4)
def testSwindlerTurn(self): turn_info = parse_game.parse_turn(u"""--- toaster's turn 9 --- toaster plays a <span class=card-none>Swindler</span>. ... getting +$2. ... brst13 turns up a <span class=card-treasure>Silver</span> and trashes it. ... replacing brst13's <span class=card-treasure>Silver</span> with a <span class=card-none>Shanty Town</span>. ... z666 turns up a <span class=card-none>Shanty Town</span> and trashes it. ... replacing z666's <span class=card-none>Shanty Town</span> with a <span class=card-none>Shanty Town</span>.""") self.assertEquals(turn_info['opp']['brst13']['gains'], ['Shanty Town']) self.assertEquals(turn_info['opp']['brst13']['trashes'], ['Silver']) self.assertEquals(turn_info['opp']['z666']['gains'], ['Shanty Town']) self.assertEquals(turn_info['opp']['z666']['trashes'], ['Shanty Town'])
def testCoppersmith(self): turn_info = parse_game.parse_turn(u"""--- Alenia's turn 3 --- Alenia plays a <span class=card-none>Coppersmith</span>. ... making each <span class=card-treasure>Copper</span> worth $2. Alenia plays a <span class=card-treasure>Silver</span> and 2 <span class=card-treasure>Coppers</span>. Alenia buys a <span class=card-victory-action>Nobles</span>. <span class=logonly>(Alenia draws: 2 <span class=card-victory>Estates</span> and 3 <span class=card-treasure>Coppers</span>.)</span>""") self.assertEquals(turn_info['name'], 'Alenia') self.assertEquals(turn_info['plays'], ['Coppersmith', 'Silver', 'Copper', 'Copper']) self.assertEquals(turn_info['number'], 3) self.assertEquals(turn_info['money'], 6)
def testBishopTurn(self): turn_info = parse_game.parse_turn(u"""--- Gypsy Steward's turn 7 --- Gypsy Steward plays a <span class=card-none>Bishop</span>. ... getting +$1 and +1 ▼. ... Gypsy Steward trashes a <span class=card-treasure>Copper</span>. ... duchyduke trashes a <span class=card-treasure>Copper</span>. Gypsy Steward plays 3 <span class=card-treasure>Coppers</span>. Gypsy Steward buys a <span class=card-treasure>Silver</span>.""") self.assertEquals(turn_info['plays'], ['Bishop', 'Copper', 'Copper', 'Copper']) self.assertEquals(turn_info['trashes'], ['Copper']) self.assertEquals(turn_info['money'], 4)
def testBishopTurn2(self): turn_info = parse_game.parse_turn( """--- rrenaud's turn 3 --- rrenaud plays a <span class=card-none>Bishop</span>. ... getting +$1 and +1 ▼. ... rrenaud trashes an <span class=card-victory>Estate</span> and gets +1 ▼. ... kristi trashes nothing. rrenaud plays 3 <span class=card-treasure>Coppers</span>. rrenaud buys a <span class=card-none>Throne Room</span>.""") self.assertEquals(turn_info['trashes'], ['Estate']) self.assertTrue('opp' not in turn_info) self.assertEquals(turn_info['money'], 4)
def testBishopTurn(self): turn_info = parse_game.parse_turn( u"""--- Gypsy Steward's turn 7 --- Gypsy Steward plays a <span class=card-none>Bishop</span>. ... getting +$1 and +1 ▼. ... Gypsy Steward trashes a <span class=card-treasure>Copper</span>. ... duchyduke trashes a <span class=card-treasure>Copper</span>. Gypsy Steward plays 3 <span class=card-treasure>Coppers</span>. Gypsy Steward buys a <span class=card-treasure>Silver</span>.""") self.assertEquals(turn_info['plays'], ['Bishop', 'Copper', 'Copper', 'Copper']) self.assertEquals(turn_info['trashes'], ['Copper']) self.assertEquals(turn_info['money'], 4)
def testSwindlerTurn(self): turn_info = parse_game.parse_turn(u"""--- toaster's turn 9 --- toaster plays a <span class=card-none>Swindler</span>. ... getting +$2. ... brst13 turns up a <span class=card-treasure>Silver</span> and trashes it. ... replacing brst13's <span class=card-treasure>Silver</span> with a <span class=card-none>Shanty Town</span>. ... z666 turns up a <span class=card-none>Shanty Town</span> and trashes it. ... replacing z666's <span class=card-none>Shanty Town</span> with a <span class=card-none>Shanty Town</span>.""" ) self.assertEquals(turn_info['opp']['brst13']['gains'], ['Shanty Town']) self.assertEquals(turn_info['opp']['brst13']['trashes'], ['Silver']) self.assertEquals(turn_info['opp']['z666']['gains'], ['Shanty Town']) self.assertEquals(turn_info['opp']['z666']['trashes'], ['Shanty Town'])
def testCoppersmith(self): turn_info = parse_game.parse_turn(u"""--- Alenia's turn 3 --- Alenia plays a <span class=card-none>Coppersmith</span>. ... making each <span class=card-treasure>Copper</span> worth $2. Alenia plays a <span class=card-treasure>Silver</span> and 2 <span class=card-treasure>Coppers</span>. Alenia buys a <span class=card-victory-action>Nobles</span>. <span class=logonly>(Alenia draws: 2 <span class=card-victory>Estates</span> and 3 <span class=card-treasure>Coppers</span>.)</span>""" ) self.assertEquals(turn_info['name'], 'Alenia') self.assertEquals(turn_info['plays'], ['Coppersmith', 'Silver', 'Copper', 'Copper']) self.assertEquals(turn_info['number'], 3) self.assertEquals(turn_info['money'], 6)
def testAmbassadorSecretChamberResponseTurn(self): turn_info = parse_game.parse_turn(u""" --- hughes's turn 16 --- hughes plays an <span class=card-none>Ambassador</span>. ... Talia reveals a <span class=card-reaction>Secret Chamber</span>. ... ... drawing 2 cards. ... ... returning 2 cards to the deck. ... hughes reveals a <span class=card-treasure>Copper</span>. ... returning 2 copies to the supply. ... Talia gains a <span class=card-treasure>Copper</span>.""") self.assertEquals(turn_info['name'], 'hughes') self.assertEquals(turn_info['plays'], ['Ambassador']) self.assertEquals(turn_info['returns'], ['Copper', 'Copper']) self.assertEquals(turn_info['opp']['Talia']['gains'], ['Copper'])
def testMineUpgradeTurn(self): turn_info = parse_game.parse_turn(u"""--- rrenaud's turn 12 --- rrenaud plays a <span class=card-none>Mine</span>. ... trashing a <span class=card-treasure>Talisman</span> and gaining a <span class=card-treasure>Gold</span>. rrenaud plays a <span class=card-treasure>Gold</span>, a <span class=card-treasure>Royal Seal</span>, and a <span class=card-treasure>Copper</span>. rrenaud plays a <span class=card-treasure>Loan</span>. ... drawing and revealing a <span class=card-none>Smithy</span> and then a <span class=card-treasure>Platinum</span>. ... discarding the <span class=card-treasure>Platinum</span>. rrenaud buys a <span class=card-treasure>Gold</span>. ... putting the <span class=card-treasure>Gold</span> on top of the deck. <span class=logonly>(rrenaud draws: 2 <span class=card-treasure>Golds</span>, 2 <span class=card-victory>Estates</span>, and a <span class=card-treasure>Silver</span>.)</span> """) self.assertEquals(turn_info['gains'], ['Gold']) self.assertEquals(turn_info['buys'], ['Gold']) self.assertEquals(turn_info['money'], 7)
def testAmbassador5(self): turn_info = parse_game.parse_turn("""--- rrenaud's turn 8 --- rrenaud plays a <span class=card-none>Worker's Village</span>. ... drawing 1 card and getting +2 actions and +1 buy. rrenaud plays an <span class=card-none>Ambassador</span>. ... revealing a <span class=card-treasure>Copper</span> and returning it to the supply. ... Torgen gains a <span class=card-treasure>Copper</span>. rrenaud plays an <span class=card-none>Ambassador</span>. ... revealing nothing and returning them to the supply. ... Torgen gains a <span class=card-treasure>Copper</span>. """) self.assertEquals(turn_info['returns'], ['Copper']) self.assertEquals(turn_info['opp']['Torgen']['gains'], ['Copper', 'Copper'])
def testGainViaWorkshopTurn(self): turn_info = parse_game.parse_turn(u""" --- Stuart's turn 4 --- Stuart plays a <span class=card-none>Workshop</span>. ... gaining a <span class=card-none>Bridge</span>. Stuart plays 2 <span class=card-treasure>Coppers</span>. Stuart buys a <span class=card-none>Pawn</span>. (Stuart reshuffles.) <span class=logonly>(Stuart draws: 4 <span class=card-treasure>Coppers</span> and a <span class=card-none>Pawn</span>.)</span> """) self.assertEquals(turn_info['plays'], ['Workshop', 'Copper', 'Copper']) self.assertEquals(turn_info['gains'], ['Bridge']) self.assertEquals(turn_info['buys'], ['Pawn']) self.assertEquals(turn_info['money'], 2)
def testWitchTurn(self): turn_info = parse_game.parse_turn(u""" --- FlippinPancakes's turn 5 --- FlippinPancakes plays a <span class=card-none>Witch</span>. ... drawing 2 cards. ... Btnirn gains a <span class=card-curse>Curse</span>. FlippinPancakes plays 2 <span class=card-treasure>Coppers</span>. FlippinPancakes buys a <span class=card-duration>Lighthouse</span>. <span class=logonly>(FlippinPancakes draws: 4 <span class=card-treasure>Coppers</span> and a <span class=card-none>Mining Village</span>.)</span> """) self.assertEquals(turn_info['plays'], ['Witch', 'Copper', 'Copper']) self.assertTrue('gains' not in turn_info) self.assertEquals(turn_info['opp']['Btnirn']['gains'], ['Curse']) self.assertEquals(turn_info['money'], 2)
def testAmbassadorTurn(self): turn_info = parse_game.parse_turn( u""" --- feelingzwontfade's turn 3 --- feelingzwontfade plays an <span class=card-none>Ambassador</span>. ... feelingzwontfade reveals an <span class=card-victory>Estate</span>. ... returning 2 copies to the supply. ... (bgg-1) CurSeS gains an <span class=card-victory>Estate</span>. <span class=logonly>(feelingzwontfade draws: an <span class=card-victory>Estate</span> and 4 <span class=card-treasure>Coppers</span>.)</span> """) self.assertEquals(turn_info['name'], 'feelingzwontfade') self.assertEquals(turn_info['plays'], ['Ambassador']) self.assertEquals(turn_info['returns'], ['Estate', 'Estate']) self.assertEquals(turn_info['opp']['(bgg-1) CurSeS']['gains'], ['Estate'])
def testAmbassadorSecretChamberResponseTurn(self): turn_info = parse_game.parse_turn( u""" --- hughes's turn 16 --- hughes plays an <span class=card-none>Ambassador</span>. ... Talia reveals a <span class=card-reaction>Secret Chamber</span>. ... ... drawing 2 cards. ... ... returning 2 cards to the deck. ... hughes reveals a <span class=card-treasure>Copper</span>. ... returning 2 copies to the supply. ... Talia gains a <span class=card-treasure>Copper</span>.""") self.assertEquals(turn_info['name'], 'hughes') self.assertEquals(turn_info['plays'], ['Ambassador']) self.assertEquals(turn_info['returns'], ['Copper', 'Copper']) self.assertEquals(turn_info['opp']['Talia']['gains'], ['Copper'])
def testSaboteurTurn(self): turn_info = parse_game.parse_turn(u"""--- BarneyRabble's turn 7 --- BarneyRabble plays an <span class=card-none>Ironworks</span>. ... gaining an <span class=card-victory-action>Island</span>. ... (BarneyRabble reshuffles.) ... drawing 1 card and getting +1 action. BarneyRabble plays a <span class=card-none>Saboteur</span>. ... Titandrake reveals an <span class=card-victory>Estate</span> and a <span class=card-treasure>Copper</span> and then a <span class=card-none>Baron</span>. ... The <span class=card-none>Baron</span> is trashed. ... Titandrake gains nothing to replace it. ... UfoSalata reveals a <span class=card-none>Baron</span> and trashes it. ... UfoSalata gains nothing to replace it.""") self.assertEquals(turn_info['opp']['Titandrake']['trashes'], ['Baron']) self.assertEquals(turn_info['opp']['UfoSalata']['trashes'], ['Baron'])
def testMineUpgradeTurn(self): turn_info = parse_game.parse_turn(u"""--- rrenaud's turn 12 --- rrenaud plays a <span class=card-none>Mine</span>. ... trashing a <span class=card-treasure>Talisman</span> and gaining a <span class=card-treasure>Gold</span>. rrenaud plays a <span class=card-treasure>Gold</span>, a <span class=card-treasure>Royal Seal</span>, and a <span class=card-treasure>Copper</span>. rrenaud plays a <span class=card-treasure>Loan</span>. ... drawing and revealing a <span class=card-none>Smithy</span> and then a <span class=card-treasure>Platinum</span>. ... discarding the <span class=card-treasure>Platinum</span>. rrenaud buys a <span class=card-treasure>Gold</span>. ... putting the <span class=card-treasure>Gold</span> on top of the deck. <span class=logonly>(rrenaud draws: 2 <span class=card-treasure>Golds</span>, 2 <span class=card-victory>Estates</span>, and a <span class=card-treasure>Silver</span>.)</span> """ ) self.assertEquals(turn_info['gains'], ['Gold']) self.assertEquals(turn_info['buys'], ['Gold']) self.assertEquals(turn_info['money'], 7)
def testPirateShipTurn(self): turn_info = parse_game.parse_turn(u"""--- Luana's turn 7 --- Luana plays a <span class=card-none>Pirate Ship</span>. ... attacking the other players. ... (Stiv reshuffles.) ... Stiv reveals a <span class=card-duration>Wharf</span> and a <span class=card -treasure>Copper</span>. ... Luana trashes Stiv's <span class=card-treasure>Copper</span>. ... Luana gains a <span class=card-none>Pirate Ship</span> token. Luana plays 2 <span class=card-treasure>Coppers</span>. <span class=logonly>(Luana draws: 2 <span class=card-treasure>Silvers</span> and 3 <span class=card-treasure>Coppers</span>.)</span> """) self.assertEquals(turn_info['name'], 'Luana') self.assertTrue('gains' not in turn_info) self.assertEquals(turn_info['money'], 2) self.assertTrue('opp' in turn_info, turn_info) self.assertEquals(turn_info['opp']['Stiv']['Trashes'], ['Copper'])
def testSaboteurTurn2(self): turn_info = parse_game.parse_turn("""--- UfoSalata's turn 14 --- UfoSalata plays a <span class=card-none>Saboteur</span>. ... BarneyRabble reveals a <span class=card-none>Saboteur</span> and trashes it. ... BarneyRabble gains a <span class=card-treasure>Silver</span> to replace it. ... Titandrake reveals 3 <span class=card-treasure>Coppers</span> and then an <span class=card-victory-action>Island</span>. ... The <span class=card-victory-action>Island</span> is trashed. ... Titandrake gains nothing to replace it. UfoSalata plays a <span class=card-treasure>Silver</span> and 3 <span class=card-treasure>Coppers</span>. UfoSalata buys a <span class=card-none>Saboteur</span>. <span class=logonly>(UfoSalata draws: a <span class=card-none>King's Court</span>, an <span class=card-victory>Estate</span>, a <span class=card-treasure>Silver</span>, an <span class=card-victory-action>Island</span>, and a <span class=card-treasure>Copper</span>.)</span> """) self.assertEquals(turn_info['opp']['BarneyRabble']['trashes'], ['Saboteur']) self.assertEquals(turn_info['opp']['BarneyRabble']['gains'], ['Silver']) self.assertEquals(turn_info['opp']['Titandrake']['trashes'], ['Island'])
def testSaboteurTurn2(self): turn_info = parse_game.parse_turn("""--- UfoSalata's turn 14 --- UfoSalata plays a <span class=card-none>Saboteur</span>. ... BarneyRabble reveals a <span class=card-none>Saboteur</span> and trashes it. ... BarneyRabble gains a <span class=card-treasure>Silver</span> to replace it. ... Titandrake reveals 3 <span class=card-treasure>Coppers</span> and then an <span class=card-victory-action>Island</span>. ... The <span class=card-victory-action>Island</span> is trashed. ... Titandrake gains nothing to replace it. UfoSalata plays a <span class=card-treasure>Silver</span> and 3 <span class=card-treasure>Coppers</span>. UfoSalata buys a <span class=card-none>Saboteur</span>. <span class=logonly>(UfoSalata draws: a <span class=card-none>King's Court</span>, an <span class=card-victory>Estate</span>, a <span class=card-treasure>Silver</span>, an <span class=card-victory-action>Island</span>, and a <span class=card-treasure>Copper</span>.)</span> """ ) self.assertEquals(turn_info['opp']['BarneyRabble']['trashes'], ['Saboteur']) self.assertEquals(turn_info['opp']['BarneyRabble']['gains'], ['Silver']) self.assertEquals(turn_info['opp']['Titandrake']['trashes'], ['Island'])
def testPirateShipTurn(self): turn_info = parse_game.parse_turn( u"""--- Luana's turn 7 --- Luana plays a <span class=card-none>Pirate Ship</span>. ... attacking the other players. ... (Stiv reshuffles.) ... Stiv reveals a <span class=card-duration>Wharf</span> and a <span class=card -treasure>Copper</span>. ... Luana trashes Stiv's <span class=card-treasure>Copper</span>. ... Luana gains a <span class=card-none>Pirate Ship</span> token. Luana plays 2 <span class=card-treasure>Coppers</span>. <span class=logonly>(Luana draws: 2 <span class=card-treasure>Silvers</span> and 3 <span class=card-treasure>Coppers</span>.)</span> """) self.assertEquals(turn_info['name'], 'Luana') self.assertTrue('gains' not in turn_info) self.assertEquals(turn_info['money'], 2) self.assertTrue('opp' in turn_info, turn_info) self.assertEquals(turn_info['opp']['Stiv']['Trashes'], ['Copper'])
def testPhilospherStoneTurn(self): turn_info = parse_game.parse_turn(u""" --- MonkeyBrains's turn 15 --- MonkeyBrains plays a <span class=card-none>Laboratory</span>. ... drawing 2 cards and getting +1 action. MonkeyBrains plays a <span class=card-none>Laboratory</span>. ... drawing 2 cards and getting +1 action. MonkeyBrains plays a <span class=card-none>University</span>. ... getting +2 actions. ... gaining a <span class=card-none>Laboratory</span>. MonkeyBrains plays an <span class=card-none>Herbalist</span>. ... getting +1 buy and +$1. MonkeyBrains plays a <span class=card-treasure>Silver</span>. MonkeyBrains plays a <span class=card-treasure>Copper</span>. MonkeyBrains plays a <span class=card-treasure>Copper</span>. MonkeyBrains plays a <span class=card-treasure>Copper</span>. MonkeyBrains plays a <span class=card-treasure>Philosopher's Stone</span>. ... which is worth +$4 (6 cards in deck, 17 cards in discard). MonkeyBrains buys a <span class=card-none>Laboratory</span>. MonkeyBrains buys a <span class=card-none>Minion</span>. MonkeyBrains returns a <span class=card-treasure>Philosopher's Stone</span> to the top of the deck. <span class=logonly>(MonkeyBrains draws: an <span class=card-victory>Estate</span>, 2 <span class=card-none>Universities</span>, a <span class=card-treasure>Philosopher's Stone</span>, and a <span class=card-treasure>Potion</span>.)</span>""") self.assertEquals(turn_info['money'], 10)
def testPhilospherStoneTurn(self): turn_info = parse_game.parse_turn(u""" --- MonkeyBrains's turn 15 --- MonkeyBrains plays a <span class=card-none>Laboratory</span>. ... drawing 2 cards and getting +1 action. MonkeyBrains plays a <span class=card-none>Laboratory</span>. ... drawing 2 cards and getting +1 action. MonkeyBrains plays a <span class=card-none>University</span>. ... getting +2 actions. ... gaining a <span class=card-none>Laboratory</span>. MonkeyBrains plays an <span class=card-none>Herbalist</span>. ... getting +1 buy and +$1. MonkeyBrains plays a <span class=card-treasure>Silver</span>. MonkeyBrains plays a <span class=card-treasure>Copper</span>. MonkeyBrains plays a <span class=card-treasure>Copper</span>. MonkeyBrains plays a <span class=card-treasure>Copper</span>. MonkeyBrains plays a <span class=card-treasure>Philosopher's Stone</span>. ... which is worth +$4 (6 cards in deck, 17 cards in discard). MonkeyBrains buys a <span class=card-none>Laboratory</span>. MonkeyBrains buys a <span class=card-none>Minion</span>. MonkeyBrains returns a <span class=card-treasure>Philosopher's Stone</span> to the top of the deck. <span class=logonly>(MonkeyBrains draws: an <span class=card-victory>Estate</span>, 2 <span class=card-none>Universities</span>, a <span class=card-treasure>Philosopher's Stone</span>, and a <span class=card-treasure>Potion</span>.)</span>""" ) self.assertEquals(turn_info['money'], 10)
def testSeaHagTurn(self): turn_info = parse_game.parse_turn( """--- doh's turn 14 --- doh plays a <span class=card-none>Sea Hag</span>. ... Dave discards a <span class=card-none>Courtyard</span> and gains a <span class=card-curse>Curse</span> on top of the deck.""") self.assertEquals(turn_info['opp']['Dave']['gains'], ['Curse'])
def testSeaHagTurn(self): turn_info = parse_game.parse_turn("""--- doh's turn 14 --- doh plays a <span class=card-none>Sea Hag</span>. ... Dave discards a <span class=card-none>Courtyard</span> and gains a <span class=card-curse>Curse</span> on top of the deck.""" ) self.assertEquals(turn_info['opp']['Dave']['gains'], ['Curse'])