Exemplo n.º 1
0
 def testHistTeamDraft(self):
     r1 = DeterministicRankingFunction(None, self.weights_1)
     r2 = DeterministicRankingFunction(None, self.weights_2)
     interleaved_list = [0, 1, 3, 2]
     htd = HistTeamDraft()
     self.assertEqual(htd.infer_outcome(interleaved_list, None,
         [0, 0, 0, 0], r1, r2, self.query), 0, "No clicks.")
     self.assertEqual(htd.infer_outcome(interleaved_list, None,
         [1, 0, 0, 0], r1, r2, self.query), 1, "Target rankers"
         " are the same as the original rankers, so ranker 2 has to win.")
     self.assertEqual(htd.infer_outcome(interleaved_list, None,
         [1, 0, 0, 0], r2, r1, self.query), -1, "Target rankers"
         " are switched, so ranker 1 has to win.")
Exemplo n.º 2
0
 def testHistTeamDraft_getPossibleAssignment(self):
     r1 = DeterministicRankingFunction(None, self.weights_1)
     r2 = DeterministicRankingFunction(None, self.weights_2)
     htd = HistTeamDraft(None)
     l = [0, 1, 3, 2]
     self.assertIn(htd._get_possible_assignment(l, r1, r2, self.query),
         [[1, 0, 0, 1], [1, 0, 1, 0]])
     l = [1, 0, 3, 2]
     self.assertIn(htd._get_possible_assignment(l, r1, r2, self.query),
         [[0, 1, 0, 1], [0, 1, 1, 0]])
     l = [1, 0, 2, 3]
     self.assertEquals(htd._get_possible_assignment(l, r1, r2, self.query),
         None)
Exemplo n.º 3
0
 def testHistTeamDraft_getPossibleAssignment(self):
     r1 = DeterministicRankingFunction(None, self.weights_1)
     r2 = DeterministicRankingFunction(None, self.weights_2)
     htd = HistTeamDraft(None)
     l = [0, 1, 3, 2]
     self.assertIn(htd._get_possible_assignment(l, r1, r2, self.query),
                   [[1, 0, 0, 1], [1, 0, 1, 0]])
     l = [1, 0, 3, 2]
     self.assertIn(htd._get_possible_assignment(l, r1, r2, self.query),
                   [[0, 1, 0, 1], [0, 1, 1, 0]])
     l = [1, 0, 2, 3]
     self.assertEquals(htd._get_possible_assignment(l, r1, r2, self.query),
                       None)
Exemplo n.º 4
0
 def testHistTeamDraft_getPossibleAssignment_randomization(self):
     r1 = DeterministicRankingFunction(None, self.weights_1)
     r2 = DeterministicRankingFunction(None, self.weights_2)
     htd = HistTeamDraft(None)
     l = [0, 1, 3, 2]
     test_assignments = {"1,0,0,1": 0, "1,0,1,0": 0}
     trials = 0
     MAX_TRIALS = 1000
     while trials < MAX_TRIALS and 0 in test_assignments.values():
         trials += 1
         observed_assignment = ",".join(str(a) for a in
             htd._get_possible_assignment(l, r1, r2, self.query))
         self.assertIn(observed_assignment, test_assignments.keys())
         test_assignments[observed_assignment] += 1
     for assignment, count in test_assignments.items():
         self.assertNotEqual(0, count, "Test failed for: %s" % assignment)
Exemplo n.º 5
0
 def testHistTeamDraft(self):
     r1 = DeterministicRankingFunction(None, self.weights_1)
     r2 = DeterministicRankingFunction(None, self.weights_2)
     interleaved_list = [0, 1, 3, 2]
     htd = HistTeamDraft()
     self.assertEqual(
         htd.infer_outcome(interleaved_list, None, [0, 0, 0, 0], r1, r2,
                           self.query), 0, "No clicks.")
     self.assertEqual(
         htd.infer_outcome(interleaved_list, None, [1, 0, 0, 0], r1, r2,
                           self.query), 1, "Target rankers"
         " are the same as the original rankers, so ranker 2 has to win.")
     self.assertEqual(
         htd.infer_outcome(interleaved_list, None, [1, 0, 0, 0], r2, r1,
                           self.query), -1, "Target rankers"
         " are switched, so ranker 1 has to win.")
Exemplo n.º 6
0
 def testHistTeamDraft_getPossibleAssignment_randomization(self):
     r1 = DeterministicRankingFunction(None, self.weights_1)
     r2 = DeterministicRankingFunction(None, self.weights_2)
     htd = HistTeamDraft(None)
     l = [0, 1, 3, 2]
     test_assignments = {"1,0,0,1": 0, "1,0,1,0": 0}
     trials = 0
     MAX_TRIALS = 1000
     while trials < MAX_TRIALS and 0 in test_assignments.values():
         trials += 1
         observed_assignment = ",".join(
             str(a)
             for a in htd._get_possible_assignment(l, r1, r2, self.query))
         self.assertIn(observed_assignment, test_assignments.keys())
         test_assignments[observed_assignment] += 1
     for assignment, count in test_assignments.items():
         self.assertNotEqual(0, count, "Test failed for: %s" % assignment)