def testDeterministicRandomTiesZero(self): rf = DeterministicRankingFunction(-1, self.zero_weights) test_rankings = {"0,1,2,3": 0, "3,2,1,0": 0, "3,1,0,2": 0} trials = 0 MAX_TRIALS = 1000 while trials < MAX_TRIALS and 0 in test_rankings.values(): trials += 1 rf.init_ranking(self.query) observed_ranking = ",".join(str(d) for d in rf.docids) if observed_ranking in test_rankings: test_rankings[observed_ranking] += 1 for ranking, count in test_rankings.items(): self.assertNotEqual(0, count, "Test failed for: %s" % ranking)
def testDeterministicLastTies(self): rf = DeterministicRankingFunction(-1, self.weights, ties="last") rf.init_ranking(self.query) self.assertEqual(rf.docids, [1, 3, 2, 0])
def testDeterministicFirstTiesZero(self): rf = DeterministicRankingFunction(-1, self.zero_weights, ties="first") rf.init_ranking(self.query) self.assertEqual(rf.docids, [0, 1, 2, 3])
def testDeterministicRandomTies(self): rf = DeterministicRankingFunction(-1, self.weights) rf.init_ranking(self.query) self.assertIn(rf.docids, [[1, 2, 3, 0], [1, 3, 2, 0]])