Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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'])
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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'])
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
  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'])
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
    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'])
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
  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'])
Exemplo n.º 13
0
  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'])
Exemplo n.º 14
0
    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)
Exemplo n.º 15
0
    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)
Exemplo n.º 16
0
    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)
Exemplo n.º 17
0
    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)
Exemplo n.º 18
0
    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)
Exemplo n.º 19
0
    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)
Exemplo n.º 20
0
    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)
Exemplo n.º 21
0
    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)
Exemplo n.º 22
0
  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'])
Exemplo n.º 23
0
    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)
Exemplo n.º 24
0
    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)
Exemplo n.º 25
0
    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)
Exemplo n.º 26
0
    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)
Exemplo n.º 27
0
  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'])
Exemplo n.º 28
0
    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)
Exemplo n.º 29
0
  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'])
Exemplo n.º 30
0
    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)
Exemplo n.º 31
0
    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'])
Exemplo n.º 32
0
    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)
Exemplo n.º 33
0
    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)
Exemplo n.º 34
0
    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'])
Exemplo n.º 35
0
    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'])
Exemplo n.º 36
0
    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'])
Exemplo n.º 37
0
    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'])
Exemplo n.º 38
0
    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'])
Exemplo n.º 39
0
    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'])
Exemplo n.º 40
0
    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)
Exemplo n.º 41
0
    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)
Exemplo n.º 42
0
    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)
Exemplo n.º 43
0
    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'])
Exemplo n.º 44
0
 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'])
Exemplo n.º 45
0
 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'])
Exemplo n.º 46
0
    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'])
Exemplo n.º 47
0
    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)
Exemplo n.º 48
0
    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)
Exemplo n.º 49
0
    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'])
Exemplo n.º 50
0
 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'])