def begin_session(self, player_ids: List[str]):
     session = GameSession(player_ids)
     self.sessionStore[session.session_id] = session
     return session.session_id
Beispiel #2
0
 def test_can_start_game_with_seats_filled(self):
     session = GameSession(['player1', 'player2', 'player3','player4'])
     self.assertTrue(session.can_start_game())
Beispiel #3
0
 def test_generate_session(self):
     session = GameSession(['player1','player2','player3','player4'])
     self.assertIsNotNone(session.get_session_id())
Beispiel #4
0
 def test_change_player_pos_new_player_invalid_player_position(self):
     session = GameSession(['player1', 'player2', 'player3', 'player4'])
     with self.assertRaises(GameEngineException) as context:
         session.change_player_pos(5, 'player5')
     self.assertTrue('Position invalid for maximum number of 4 players' in str(context.exception))
Beispiel #5
0
 def test_get_player_position_and_details(self):
     session = GameSession(['player1', 'player2', 'player3', 'player4'])
     self.assertEqual(1, session.get_player_position_and_details('player1')[0])
Beispiel #6
0
 def test_change_player_pos_with_new_player(self):
     session = GameSession(['player1', 'player2', 'player3', 'player4'])
     with self.assertRaises(GameEngineException) as context:
         session.change_player_pos(4, 'player5')
     self.assertTrue('Player not part of this game session' in str(context.exception))
Beispiel #7
0
 def test_change_player_pos_with_free_pos(self):
     session = GameSession(['player1', 'player2', 'player3'])
     session.change_player_pos(4, 'player1')
     self.assertEqual(4, session.get_player_position_and_details('player1')[0])
     self.assertIsNone(session.get_player_at_position(1))
Beispiel #8
0
 def test_add_player_to_session_with_free_seat(self):
     session = GameSession(['player1','player2','player3'])
     self.assertEqual(3, len(session.get_seat_allocations()))
     new_allocation = session.add_player_to_session('player4')
     self.assertEqual(4,len(new_allocation))
Beispiel #9
0
 def test_add_player_to_session_without_seat(self):
     session = GameSession(['player1','player2','player3','player4'])
     with self.assertRaises(GameEngineException) as context:
         session.add_player_to_session('player5')
     self.assertTrue('No free position available for allocation' in str(context.exception))
Beispiel #10
0
 def test_allocate_seats(self):
     session = GameSession(['player1','player2','player3','player4'])
     player_positions = session.get_seat_allocations()
     self.assertEqual(4,len(player_positions))
     s1 = set([1,2,3,4])
     self.assertTrue(s1.issubset(player_positions.keys()))