Exemplo n.º 1
0
 def testActivePlayers(self):
     ladder = TableFootballLadder(
         self.getLadder("test_active.txt"),
         transforms=PresetTransforms.no_transforms())
     self.assertEqual(3, ladder.getNumActivePlayers(5000000003))
     self.assertEqual(0, ladder.getNumActivePlayers(6000000002))
     self.assertEqual(2, ladder.getNumActivePlayers(6000000004))
Exemplo n.º 2
0
 def testTwoLadders(self):
     a = TableFootballLadder(os.path.join(__location__, "testLadder.txt"),
                             False)
     b = TableFootballLadder(os.path.join(__location__, "testLadder.txt"),
                             False)
     self.assertEquals(5, len(a.games))
     self.assertEquals(5, len(b.games))
Exemplo n.º 3
0
    def testLadder(self):
        l = TableFootballLadder(os.path.join(__location__, "testLadder.txt"), False)
        self.assertEqual(5, len(l.games))
        self.assertEqual(4, len(l.players))

        aaa = l.players['aaa']
        self.assertAlmostEqual(-2.30014, aaa.elo, places=5)

        self.assertEqual(1, l.getPlayerRank('ccc'))
        self.assertEqual(-1, l.getPlayerRank('inactive'))
Exemplo n.º 4
0
    def testLadder(self):
        ladder = TableFootballLadder(self.getLadder("testLadder.txt"))
        ladder._theTime = 5000000004
        self.assertEqual(5, len(ladder.games))
        self.assertEqual(4, len(ladder.players))

        aaa = ladder.players['aaa']
        self.assertAlmostEqual(-2.30014, aaa.elo, places=5)

        self.assertEqual(1, ladder.getPlayerRank('ccc'))
        self.assertEqual(-1, ladder.getPlayerRank('inactive'))
Exemplo n.º 5
0
    def testLadder(self):
        l = TableFootballLadder(os.path.join(__location__, "testLadder.txt"), False)
        l._theTime = 5000000004
        self.assertEqual(5, len(l.games))
        self.assertEqual(4, len(l.players))

        aaa = l.players['aaa']
        self.assertAlmostEqual(-2.30014, aaa.elo, places=5)

        self.assertEqual(1, l.getPlayerRank('ccc'))
        self.assertEqual(-1, l.getPlayerRank('inactive'))
Exemplo n.º 6
0
    def testFirstGame(self):
        ladder = TableFootballLadder(os.path.join(__location__, "emptyLadder.txt"), False)
        player = Player("foo")
        opponent = Player("baz")
        game = Game(opponent.name, 0, player.name, 10, 0)
        ladder.addGame(game)

        sut = EarlyBird()
        result = sut.applies(player, game, opponent, ladder)
        self.assertTrue(result)
        result = sut.applies(opponent, game, player, ladder)
        self.assertFalse(result)
Exemplo n.º 7
0
    def testJrem(self):
        jl = TableFootballLadder(self.getLadder("jrem.ladder"))
        jrem = jl.players['jrem']
        streaks = jrem.getStreaks()

        self.assertEquals(0, streaks['current'].count)
        self.assertEquals(12, streaks['win'].count)
        self.assertEquals(14, streaks['lose'].count)
Exemplo n.º 8
0
    def testJrem(self):
        jl = TableFootballLadder(os.path.join(__location__, "jrem.ladder"), False)
        jrem = jl.players['jrem']
        streaks = jrem.getStreaks()

        self.assertEquals(0, streaks['current'].count)
        self.assertEquals(12, streaks['win'].count)
        self.assertEquals(14, streaks['lose'].count)
Exemplo n.º 9
0
 def testRankChange(self):
     ladder = TableFootballLadder(self.getLadder("test_rank.txt"))
     self.assertEqual(2, ladder.games[0].redPosAfter)
     self.assertEqual(1, ladder.games[0].bluePosAfter)
     self.assertEqual(1, ladder.games[1].redPosAfter)
     self.assertEqual(1, ladder.games[1].redPosChange)
     self.assertEqual(2, ladder.games[1].bluePosAfter)
     self.assertEqual(-1, ladder.games[1].bluePosChange)
Exemplo n.º 10
0
 def testRankChange(self):
     ladder = TableFootballLadder(
         os.path.join(__location__, "test_rank.txt"), False)
     self.assertEqual(2, ladder.games[0].redPosAfter)
     self.assertEqual(1, ladder.games[0].bluePosAfter)
     self.assertEqual(1, ladder.games[1].redPosAfter)
     self.assertEqual(1, ladder.games[1].redPosChange)
     self.assertEqual(2, ladder.games[1].bluePosAfter)
     self.assertEqual(-1, ladder.games[1].bluePosChange)
Exemplo n.º 11
0
def ladderRange(games_from, games_to):
    base = "../../../"

    show_inactive = request.args.get('showInactive')
    include_players = request.args.get('players')

    time_range = (int(games_from), int(games_to))
    this_tntfl = TableFootballLadder(config.ladderFilePath, timeRange=time_range, transforms=PresetTransforms.transforms_for_ladder())

    return json.dumps(ladderToJson(this_tntfl, base, show_inactive, include_players))
Exemplo n.º 12
0
    def testPlayerStreak(self):
        ladder = TableFootballLadder(self.getLadder("testStreak.txt"))

        streaky = ladder.players['streak']

        streaks = streaky.getStreaks()

        self.assertEquals(6, streaks['win'].count)
        self.assertEquals(2, streaks['lose'].count)
        self.assertEquals("(last game was a draw)", streaks['currentType'])
Exemplo n.º 13
0
def getLadder(speculative_games):
    transforms = PresetTransforms.transforms_for_recent()
    games = Transformer.transform(
        lambda: GameStore(config.ladderFilePath).getGames(), transforms)

    if len(speculative_games) > 0:
        games += speculative_games
        games = Transformer.transform(lambda: games, transforms)

    return TableFootballLadder(None, games=games)
Exemplo n.º 14
0
    def testPlayerStreak(self):
        l = TableFootballLadder(os.path.join(__location__, "testStreak.txt"), False)

        streaky = l.players['streak']

        streaks = streaky.getStreaks()

        self.assertEquals(4, streaks['win'].count)
        self.assertEquals(2, streaks['lose'].count)
        self.assertEquals("(last game was a draw)", streaks['currentType'])
Exemplo n.º 15
0
    def test(self):
        ladder = TableFootballLadder(os.path.join(__location__, "testLadder.txt"), False)
        player = Player("foo")
        opponent = Player("baz")
        game = addGame(opponent, 0, player, 10, 6000000003)
        ladder.games.append(game)

        sut = EarlyBird()
        result = sut.applies(player, game, opponent, ladder)
        self.assertTrue(result)
        result = sut.applies(opponent, game, player, ladder)
        self.assertFalse(result)
Exemplo n.º 16
0
    def testStreaks2nd(self):
        ladder = TableFootballLadder(self.getLadder("testStreak.txt"))
        streaky = ladder.players['streak']
        bulkAppend(streaky, 6, Player('baz'), 4, 5000000012, 5)

        sut = Streaks()
        result = sut.getFact(streaky, streaky.games[-2], None)
        self.assertIsNone(result)
        result = sut.getFact(streaky, streaky.games[-1], None)
        self.assertEqual(
            result,
            "At 5 games, streak was on their 2nd longest winning streak.")
Exemplo n.º 17
0
    def testFirstGame(self):
        ladder = TableFootballLadder(self.getLadder("emptyLadder.txt"))
        player = Player("foo")
        opponent = Player("baz")
        game = addGame(opponent, 0, player, 10, 0)
        ladder.games.append(game)

        sut = EarlyBird()
        result = sut.applies(player, game, opponent, ladder)
        self.assertTrue(result)
        result = sut.applies(opponent, game, player, ladder)
        self.assertFalse(result)
Exemplo n.º 18
0
    def testStreaks2nd(self):
        l = TableFootballLadder(os.path.join(__location__, "testStreak.txt"),
                                False)
        streaky = l.players['streak']
        bulkAppend(streaky, 6, Player('baz'), 4, 5000000012, 3)

        sut = Streaks()
        result = sut.getFact(streaky, streaky.games[-2], None)
        self.assertIsNone(result)
        result = sut.getFact(streaky, streaky.games[-1], None)
        self.assertEqual(
            result,
            "At 3 games, streak was on their 2nd longest winning streak.")
Exemplo n.º 19
0
    def testStreaksAgainst(self):
        ladder = TableFootballLadder(self.getLadder("testStreak.txt"))
        streaky = ladder.players['streak']
        test = ladder.players['test']

        sut = StreaksAgainst()
        result = sut.getFact(streaky, streaky.games[5], test)
        self.assertEqual(
            result, "That was streak's 6th consecutive win against test.")
        result = sut.getFact(streaky, streaky.games[6], test)
        self.assertIsNone(result)
        result = sut.getFact(test, streaky.games[6], streaky)
        self.assertEqual(
            result,
            "test avoided losing to streak for the first time in 6 games.")
Exemplo n.º 20
0
    def testStreaksAgainst(self):
        l = TableFootballLadder(os.path.join(__location__, "testStreak.txt"),
                                False)
        streaky = l.players['streak']
        test = l.players['test']

        sut = StreaksAgainst()
        result = sut.getFact(streaky, streaky.games[3], test)
        self.assertEqual(
            result, "That was streak's 4th consecutive win against test.")
        result = sut.getFact(streaky, streaky.games[4], test)
        self.assertIsNone(result)
        result = sut.getFact(test, streaky.games[4], streaky)
        self.assertEqual(
            result,
            "test avoided losing to streak for the first time in 4 games.")
Exemplo n.º 21
0
    def testStreaks(self):
        ladder = TableFootballLadder(self.getLadder("testStreak.txt"))
        streaky = ladder.players['streak']

        sut = Streaks()
        result = sut.getFact(streaky, streaky.games[4], None)
        self.assertEqual(
            result, "At 5 games, streak was on their longest winning streak.")
        result = sut.getFact(streaky, streaky.games[5], None)
        self.assertEqual(
            result, "At 6 games, streak was on their longest winning streak.")
        result = sut.getFact(streaky, streaky.games[6], None)
        self.assertEqual(result,
                         "streak broke their winning streak of 6 games.")
        result = sut.getFact(streaky, streaky.games[7], None)
        self.assertIsNone(result)
Exemplo n.º 22
0
    def testStreaks(self):
        l = TableFootballLadder(os.path.join(__location__, "testStreak.txt"),
                                False)
        streaky = l.players['streak']

        sut = Streaks()
        result = sut.getFact(streaky, streaky.games[2], None)
        self.assertEqual(
            result, "At 3 games, streak was on their longest winning streak.")
        result = sut.getFact(streaky, streaky.games[3], None)
        self.assertEqual(
            result, "At 4 games, streak was on their longest winning streak.")
        result = sut.getFact(streaky, streaky.games[4], None)
        self.assertEqual(result,
                         "streak broke their winning streak of 4 games.")
        result = sut.getFact(streaky, streaky.games[5], None)
        self.assertIsNone(result)
Exemplo n.º 23
0
 def testGamesRange(self):
     l = TableFootballLadder(os.path.join(__location__, "testLadder.txt"),
                             False, [5000000000, 5000000002])
     self.assertEqual(3, len(l.games))
     self.assertEqual(3, len(l.players))
Exemplo n.º 24
0
 def testGamesRange(self):
     ladder = TableFootballLadder(self.getLadder("testLadder.txt"),
                                  [5000000000, 5000000002])
     self.assertEqual(3, len(ladder.games))
     self.assertEqual(3, len(ladder.players))
Exemplo n.º 25
0
def testLadder():
    return TableFootballLadder('file://' +
                               os.path.join(__location__, "testLadder.txt"))
Exemplo n.º 26
0
 def testTwoLadders(self):
     a = TableFootballLadder(self.getLadder("testLadder.txt"))
     b = TableFootballLadder(self.getLadder("testLadder.txt"))
     self.assertEquals(5, len(a.games))
     self.assertEquals(5, len(b.games))
Exemplo n.º 27
0
 def get(self):
     if self._tntfl is None:
         self._tntfl = TableFootballLadder(config.ladderFilePath)
     return self._tntfl