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)
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)
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)
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)