def testDeleteAfterInitialUpdateSucceeds(self): r = score_ranker.Ranker(self.storage, 0, 60000, 40) scores = [0, 554, 555, 555, 59888] r.Update(scores) r.Remove(554) self.assertEqual([0, 555, 555, 59888], [r.FindScore(x) for x in range(len(scores) - 1)])
def testAddAfterInitialUpdateSucceeds(self): r = score_ranker.Ranker(self.storage, 0, 60000, 40) scores = [0, 554, 555, 555, 59888] r.Update(scores) r.Add(554) self.assertEqual(sorted(scores + [554]), [r.FindScore(x) for x in range(len(scores) + 1)])
def testFindScoreAndNumScoresMedian(self): r = score_ranker.Ranker(self.storage, 0, 60000, 40) scores = [0, 554, 555, 555, 59888] r.Update(scores) self.assertEqual((555, 5), r.FindScoreAndNumScores(percentile=50))
def testFindScoreCanRetrieveAllScores(self): r = score_ranker.Ranker(self.storage, 0, 20, 4) scores = [0, 4, 4, 5, 6, 10] r.Update(scores) self.assertEqual(scores, [r.FindScore(x) for x in range(len(scores))])
def testTotalRankedScoresGivesOneAfterAdd(self): r = score_ranker.Ranker(self.storage, 0, 20, 10) r.Add(10) self.assertEqual(1, r.TotalRankedScores())
def testTotalRankedScoresGivesZeroOnEmpty(self): r = score_ranker.Ranker(self.storage, 0, 2, 2) self.assertEqual(0, r.TotalRankedScores())
def testFindScoreAndNumScoresEmpty(self): r = score_ranker.Ranker(self.storage, 0, 60000, 40) self.assertEqual((None, 0), r.FindScoreAndNumScores(percentile=1))