Пример #1
0
 def test_Player(self):
     """Test Player class"""
     player = Player(name="Bob")
     self.assertIsNotNone(player)
     self.assertEqual(str(player), "Bob")
     self.assertTrue(player.is_sitting_out())
     self.assertEqual(player.get_status(), "sitting out")
     with self.assertRaises(ZeroStackException):
         player.make_active()
     player2 = Player(stack=10)
     self.assertEqual(str(player2), "Unnamed Player")
     self.assertTrue(player2.is_active())
     self.assertEqual(player2.get_status(), "active")
     player2.sit_out()
     self.assertTrue(player2.is_sitting_out())
     player2.make_active()
     self.assertTrue(player2.is_active())
     player.new_hand()
     self.assertTrue(player.is_active())
     player.muck_hand()
     self.assertTrue(player.is_folded())
     self.assertEqual(player.get_status(), "folded")
     player.message("This should go nowhere")
     player.stack = 100
     action = Action.new_bet(30)
     player.process_action(action)
     self.assertEqual(player.stack, 70)
     self.assertEqual(player.bet, 30)
     action = Action.new_bet(100)
     self.assertRaises(InvalidActionException, player.process_action, action)
     player.win(10)
     self.assertEqual(player.stack, 80)
Пример #2
0
 def test_Action_bet(self):
     """Test bet Action"""
     action = Action.new_bet(100)
     self.assertIsNotNone(action)
     self.assertTrue(action.is_bet())
     self.assertFalse(action.is_raise())
     self.assertEqual(action.amount, 100)
     self.assertFalse(action.is_all_in())
     self.assertEqual(str(action), "bet 100")
Пример #3
0
 def test_opening_bet_ActionRequest(self):
     """Test ActionRequest for opening bet"""
     amount = 50
     request = ActionRequest.new_opening_bet_request(amount)
     self.assertIsNotNone(request)
     self.assertTrue(request.is_opening_bet_request())
     self.assertEqual(request.amount, amount)
     request.validate_action(Action.new_check())
     request.validate_action(Action.new_bet(amount))
     request.validate_action(Action.new_fold())
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_ante(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_blind(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_call(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_bet(amount+1))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_raise(amount))
Пример #4
0
 def test_ante_ActionRequest(self):
     """Test ActionRequest for ante"""
     amount = 20
     request = ActionRequest.new_ante_request(amount)
     self.assertIsNotNone(request)
     self.assertTrue(request.is_ante_request())
     self.assertEqual(request.amount, amount)
     request.validate_action(Action.new_ante(amount))
     request.validate_action(Action.new_fold())
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_ante(amount+1))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_call(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_bet(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_raise(amount))
Пример #5
0
 def test_call_ActionRequest(self):
     """Test ActionRequest for call"""
     amount = 50
     request = ActionRequest.new_call_request(amount, raise_amount=amount*2)
     self.assertIsNotNone(request)
     self.assertTrue(request.is_call_request())
     self.assertEqual(request.amount, amount)
     self.assertEqual(request.raise_amount, amount*2)
     self.assertEqual(str(request), "call request for 50 or raise of 100")
     request.validate_action(Action.new_call(amount))
     request.validate_action(Action.new_raise(amount*2))
     request.validate_action(Action.new_fold())
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_ante(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_blind(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_call(amount+1))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_bet(amount))
     with self.assertRaises(InvalidActionException):
         request.validate_action(Action.new_raise(amount*2-1))