def checkPlayCard(game): d.updateCoins(0,game,20) d.buyCard(c.baron,game) d.endTurn(game) d.endTurn(game) assert(d.playCard(-1,0,0,0,game) == -1) for i in range(d.numHandCards(game)): if (d.handCard(0,game) == c.baron): assert(d.playCard(i,1,0,0,game) == 0) else: assert(d.playCard(0,0,0,0,game) == -1) # Still need to refine this print "TEST CASE PASSED"
def test_playCard(): card = random.randint(0,26) ##kingdomCards = [d.Adventurer, d.Ambassador, d.Baron, d.Council_Room, d.Cutpurse, d.Embargo, d.Feast, d.Gardens, d.Great_Hall, d.Village] print "TESTING playCard()" a = d.initializeGame(numPlayers,kingdomCards, randomSeed) assert(a !=-1) print "Before playing" print "hand of Player 0:" print a.hand[0] print "Card played by Player : 0 is " print card hpos = len(a.hand[0])-1 b = d.playCard(hpos,0,0,0,a) if (b == -1): if card not in a.kingdomCards: print "Invalid Input:Card is Not KingdomCard" elif card not in a.hand[a.whoseTurn]: print "Invalid input, Card trying to play is not in hand" if(b ==0): print "TEST PASS" print "After playing" print "hand" print a.hand[0] print "Card played by Player:0 is " print card
def checkFirstTurn(): game = d.initializeGame(2, [c.adventurer, c.ambassador, c.baron, c.council_room, c.cutpurse, c.embargo, c.feast, c.gardens, c.great_hall, c.mine], 10) handPos = random.randrange(5) ret = d.playCard(handPos,0,0,0,game) assert(ret == -1) print "TEST CASE PASSED" return 0
def checkOutpost(game): # Outpost case d.updateCoins(0,game,5) assert(d.buyCard(c.outpost,game) == 0) d.endTurn(game) d.endTurn(game) outpost = -1 for i in range(5): if handCard(i,game) == card.outpost: outpost = i if outpost == -1: d.playCard(outpost,0,0,0,game) d.endTurn(game) assert(d.whoseTurn(game) == 1) assert(d.numHandCards(game) == 3) print "TEST CASE PASSED"