コード例 #1
0
ファイル: fiasco_test.py プロジェクト: sprek/fiasco
 def test_clear(self):
     test_dice = dice.initialize_dice(3,'0')
     dice.insert_dice_into_db(test_dice, self.db)
     test_player = player.Player (*TEST_PLAYER_VALUES1)
     player.insert_player_into_db(test_player, self.db)
     assert len(player.get_players_from_db(test_player.game_id, self.db)) > 0
     assert len(dice.get_dice_from_db(test_dice.game_id, self.db).dice_dic) > 0
     clear_tables(self.db)
     assert len(player.get_players_from_db(test_player.game_id, self.db)) == 0
     assert dice.get_dice_from_db(test_dice.game_id, self.db) == None
コード例 #2
0
ファイル: game_control.py プロジェクト: sprek/fiasco
def initialize_game(game_id, db):
    """ input: game_id String, db Database
    """
    # initialize players
    players = player.get_players_from_db(game_id, db)
    random.seed(2)
    random.shuffle(players)
    for i, p in enumerate(players):
        p.id_num = i
        p.p_left_name = _get_left_item(players,i).name
        p.p_right_name = _get_right_item(players,i).name
        player.update_player_by_name(p, db)
    # initialize dice
    dice.insert_dice_into_db(dice.initialize_dice(len(players), game_id), db)
    status.set_round_in_db(0, game_id, db)
コード例 #3
0
ファイル: fiasco_test.py プロジェクト: sprek/fiasco
 def test_dice(self):
     """ Testsing dice functions
     dice.get_dice_from_db
     dice.insert_dice_into_db
     dice.get_dice_from_db
     """
     clear_tables(self.db)
     num_players = 4
     test_dice = dice.initialize_dice(num_players,'0')
     total = 0
     for key in test_dice.dice_dic:
         total += test_dice.dice_dic[key]
     assert (total == 4 * num_players)
     # insert dice
     dice.insert_dice_into_db(test_dice, self.db)
     # get dice
     db_dice = dice.get_dice_from_db(test_dice.game_id, self.db)
     assert(db_dice == test_dice)
コード例 #4
0
ファイル: fiasco_test.py プロジェクト: sprek/fiasco
    def test_game_control(self):
        """ Testing game_control functions
        game_control.initialize_game
        """
        clear_tables(self.db)
        p1 = player.Player(*TEST_PLAYER_VALUES1)
        p2 = player.Player(*TEST_PLAYER_VALUES2)
        p3 = player.Player(*TEST_PLAYER_VALUES3)
        # insert players into db
        player.insert_player_into_db(p1, self.db)
        player.insert_player_into_db(p2, self.db)
        player.insert_player_into_db(p3, self.db)
        # initialize game
        game_control.initialize_game(p1.game_id, self.db)
        # get the updated player information
        p1 = player.get_player_from_db_by_name(p1.name, p1.game_id, self.db)
        p2 = player.get_player_from_db_by_name(p2.name, p2.game_id, self.db)
        p3 = player.get_player_from_db_by_name(p3.name, p3.game_id, self.db)
        # In a 3 person game, everyone should be neighbors with eachother
        assert(p1.p_left_name in [p2.name, p3.name])
        assert(p1.p_right_name in [p2.name, p3.name])
        assert(not p1.p_left_name == p1.p_right_name)
        assert(p2.p_left_name in [p1.name, p3.name])
        assert(p2.p_right_name in [p1.name, p3.name])
        assert(not p2.p_left_name == p2.p_right_name)
        assert(p3.p_left_name in [p1.name, p2.name])
        assert(p3.p_right_name in [p1.name, p2.name])
        assert(not p3.p_left_name == p3.p_right_name)

        # try setting relationships

        # first prepare the dice, so that there's enough for all the tests
        dice.insert_dice_into_db(dice.Dice({0:100,1:100,2:100,3:100,4:100,5:100,6:100},p1.game_id), self.db)
        
        test_playset = playset.parse_playset(TEST_PLAYSET)
        # p1 and p2: mayor / health commissioner
        # p1 and p3: drug dealer / drug manufacturer
        # p2 and p3: plumber / client
        p1_p2_rel_opt = ('elected official', 'mayor')
        p2_p1_rel_opt = ('elected official', 'health commissioner')
        p1_p3_rel_opt = ('drug person', 'dealer')
        p3_p1_rel_opt = ('drug person', 'manufacturer')
        p2_p3_rel_opt = ('tradesman', 'plumber')
        p3_p2_rel_opt = ('client', '')
        retval = game_control.set_relationship(p1_p2_rel_opt[0], p1_p2_rel_opt[1], p1.name,
                                               p2_p1_rel_opt[0], p2_p1_rel_opt[1], p2.name,
                                               p1.name, test_playset, p1.game_id, self.db)
        assert (retval == game_control.NO_ERROR)
        retval = game_control.set_relationship(p1_p3_rel_opt[0], p1_p3_rel_opt[1], p1.name,
                                               p3_p1_rel_opt[0], p3_p1_rel_opt[1], p3.name,
                                               p3.name, test_playset, p1.game_id, self.db)
        assert (retval == game_control.NO_ERROR)
        retval = game_control.set_relationship(p2_p3_rel_opt[0], p2_p3_rel_opt[1], p2.name,
                                               p3_p2_rel_opt[0], p3_p2_rel_opt[1], p3.name,
                                               p3.name, test_playset, p1.game_id, self.db)
        assert (retval == game_control.NO_ERROR)
        # get the updated player information
        p1 = player.get_player_from_db_by_name(p1.name, p1.game_id, self.db)
        p2 = player.get_player_from_db_by_name(p2.name, p2.game_id, self.db)
        p3 = player.get_player_from_db_by_name(p3.name, p3.game_id, self.db)

        #print_player_info(p1)
        #print_player_info(p2)
        #print_player_info(p3)
        
        # In a 3 person game, everyone should be neighbors with eachother
        if p1.p_left_name == p2.name:
            # for player 1: left is p2, right is p3
            assert p1_p2_rel_opt == (p1.rel_l_role, p1.rel_l_option)
            assert p1_p3_rel_opt == (p1.rel_r_role, p1.rel_r_option)
            # for player 3: left is p1, right is p2
            assert p3_p1_rel_opt == (p3.rel_l_role, p3.rel_l_option)
            assert p3_p2_rel_opt == (p3.rel_r_role, p3.rel_r_option)
            # for palyer 2: left is p3, right is p1
            assert p2_p3_rel_opt == (p2.rel_l_role, p2.rel_l_option)
            assert p2_p1_rel_opt == (p2.rel_r_role, p2.rel_r_option)
        elif p1.p_left_name == p3.name:
            # for player 1: left is p3, right is p2
            assert p1_p3_rel_opt == (p1.rel_l_role, p1.rel_l_option)
            assert p1_p2_rel_opt == (p1.rel_r_role, p1.rel_r_option)
            # for player 3: left is p2, right is p1
            assert p3_p2_rel_opt == (p3.rel_l_role, p3.rel_l_option)
            assert p3_p1_rel_opt == (p3.rel_r_role, p3.rel_r_option)
            # for palyer 2: left is p1, right is p3
            assert p2_p1_rel_opt == (p2.rel_l_role, p2.rel_l_option)
            assert p2_p3_rel_opt == (p2.rel_r_role, p2.rel_r_option)
        else:
            # this should not happen
            assert False