-
Notifications
You must be signed in to change notification settings - Fork 0
/
OddsSimulator_Tester.py
126 lines (102 loc) · 6.5 KB
/
OddsSimulator_Tester.py
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import unittest
from OddsSimulator import OddsSimulator
class OddsSimulator_Tester(unittest.TestCase):
def setUp(self, o=None):
self.o = OddsSimulator([250, 50, 25, 8, 5, 4, 3, 2, 1])
# self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
def test_num_strategies(self):
self.assertTrue(len(self.o.strategies) == 32)
def test_num_take_zero(self):
self.assertTrue(self.o.strategies[0].get_take_type() == "Take Zero")
def test_num_take_one(self):
for k in range(1, 6, 1):
self.assertTrue(self.o.strategies[k].get_take_type() == "Take One")
def test_num_take_two(self):
for k in range(6, 16, 1):
self.assertTrue(self.o.strategies[k].get_take_type() == "Take Two")
def test_num_take_three(self):
for k in range(16, 26, 1):
self.assertTrue(self.o.strategies[k].get_take_type() == "Take Three")
def test_num_take_four(self):
for k in range(26, 31, 1):
self.assertTrue(self.o.strategies[k].get_take_type() == "Take Four")
def test_num_take_five(self):
self.assertTrue(self.o.strategies[31].get_take_type() == "Take Five")
def test_take_zero_strategy_straight_royal_flush(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 9, 10, 11, 12])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 250)
def test_take_zero_strategy_straight_flush(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 50)
def test_take_zero_strategy_quads(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 13, 26, 39, 3])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 25)
def test_take_zero_strategy_fullhouse(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 13, 26, 1, 14])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 8)
def test_take_zero_strategy_straight(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 14, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 5)
def test_take_zero_strategy_flush(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 7])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 4)
def test_take_zero_strategy_trips(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 13, 26, 6, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 3)
def test_take_zero_strategy_twopair(self):
self.o.populate_list_to_object(self.o.video_poker, [25, 12, 0, 13, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 2)
def test_take_zero_strategy_payingpair(self):
self.o.populate_list_to_object(self.o.video_poker, [12, 25, 1, 13, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[0],
self.o.payout_table, self.o.video_poker) == 1)
def test_take_one_strategy(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[1],
self.o.payout_table, self.o.video_poker) == 1.063829787)
"""
def test_take_two_strategy(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[6],
self.o.payout_table, self.o.video_poker) > 0)
def test_take_three_strategy(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[16],
self.o.payout_table, self.o.video_poker) > 0)
def test_take_four_strategy(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[26],
self.o.payout_table, self.o.video_poker) > 0)
def test_take_five_strategy(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o._run_strategy(self.o.video_poker.player.hand, self.o.strategies[31],
self.o.payout_table, self.o.video_poker) > 0)
"""
def test_simulation(self):
self.o.populate_list_to_object(self.o.video_poker, [0, 1, 2, 3, 4])
self.o.video_poker.player.hand.print_hand()
self.assertTrue(self.o.run_simulation(self.o.video_poker.player.hand) > 0)
if __name__ == '__main__':
unittest.main(exit=False)