-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgame_test.py
More file actions
72 lines (62 loc) · 2.74 KB
/
game_test.py
File metadata and controls
72 lines (62 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
'''
Created on Nov 30, 2012
@author: Kellen
'''
import unittest
from game import Game
from hand import Hand
from card import Card
"""
Test the win/lose game logic.
TODO(kellend): Test game using its public interface.
"""
class GameLogicTest(unittest.TestCase):
def setUp(self):
dealerAgent = None
playerAgents = []
self.game = Game(dealerAgent, playerAgents)
self.playaHand = Hand(1)
self.dealerHand = Hand(0)
# Ensure that player blackjack beats dealer non-blackjack
def testPlayaBlackjackBeatsDealerNonBlackJack(self):
self.playaHand.addCard(Card(1, 0))
self.playaHand.addCard(Card(1, 10))
self.dealerHand.addCard(Card(1, 4))
self.dealerHand.addCard(Card(1, 5))
self.dealerHand.addCard(Card(1, 10))
self.assertGreater(self.game.determineWinner(self.playaHand, self.dealerHand), 0)
# Ensure that player blackjack beats dealer non-blackjack
def testPlaya17LosesDealer21(self):
self.playaHand.addCard(Card(1, 0))
self.playaHand.addCard(Card(1, 6))
self.dealerHand.addCard(Card(1, 4))
self.dealerHand.addCard(Card(1, 5))
self.dealerHand.addCard(Card(1, 10))
self.assertLess(self.game.determineWinner(self.playaHand, self.dealerHand), 0)
# Ensure that player blackjack beats dealer blackjack
def testPlayaBlackJackLosesDealerBlackjack(self):
self.playaHand.addCard(Card(1, 0))
self.playaHand.addCard(Card(1, 10))
self.dealerHand.addCard(Card(1, 0))
self.dealerHand.addCard(Card(1, 10))
self.assertGreater(self.game.determineWinner(self.playaHand, self.dealerHand), 0)
# Ensure that player blackjack beats dealer blackjack
def testPlaya21LosesDealerBlackjack(self):
self.playaHand.addCard(Card(1, 4))
self.playaHand.addCard(Card(1, 5))
self.playaHand.addCard(Card(1, 10))
self.dealerHand.addCard(Card(1, 0))
self.dealerHand.addCard(Card(1, 10))
self.assertLess(self.game.determineWinner(self.playaHand, self.dealerHand), 0)
# Ensure that player bust loses to dealer bust
def testPlayaBustLosesDealerBust(self):
self.playaHand.addCard(Card(1, 5))
self.playaHand.addCard(Card(1, 6))
self.playaHand.addCard(Card(1, 10))
self.dealerHand.addCard(Card(1, 5))
self.dealerHand.addCard(Card(1, 5))
self.dealerHand.addCard(Card(1, 10))
self.assertLess(self.game.determineWinner(self.playaHand, self.dealerHand), 0)
if __name__ == "__main__":
# import sys;sys.argv = ['', 'Test.testName']
unittest.main()