def test_generate_two_full_tables(self):
        [game] = list(make_games(['1A']))
        players = make_players([
            (2, 'GM', None, {'1A': 'G'}),
            (12, 'Player', None, {'1A': 'P'}),
        ])
        generator = GameTablesGenerator(game, players)

        [table1, table2] = generator.generate_tables()

        self.assertNotEqual(table1, table2)
        self.assertNotEqual(table1.gm, table2.gm)
        self.assertNotEqual(table1.players, table2.players)

        self.assertEqual(game, table1.game)
        self.assertNotEqual(None, table1.gm)
        self.assertEqual(6, len(table1.players))
        self.assertEqual([], table1.warnings)
        self.assertEqual([], table1.info)

        self.assertEqual(game, table2.game)
        self.assertNotEqual(None, table2.gm)
        self.assertEqual(6, len(table2.players))
        self.assertEqual([], table2.warnings)
        self.assertEqual([], table2.info)
Example #2
0
def game_generate_tables(slot):
    game = db.get_game(slot)
    players = db.get_players_for_game(slot)
    generator = GameTablesGenerator(game, players)
    game_tables = generator.generate_lowest_penalty_tables()
    db.set_game_tables(slot, game_tables)

    flash("Tables generated.")
    return redirect(url_for('game', slot=slot))