def testScoring(self): self._setup() scorer = MigrationScorer(Location.get_location('local').id) self.assertEquals(2.0, scorer.datafile_score(self.df1)) self.assertEquals(2, get_user_priority(self.user1)) self.assertEquals(1, get_user_priority(self.user2)) self.assertEquals(1.0, scorer.user_score(self.user1)) self.assertEquals(2.0, scorer.user_score(self.user2)) self.assertEquals(2.0, scorer.experiment_score(self.exp1)) self.assertEquals(2.0, scorer.dataset_score(self.df1.dataset)) self.assertEquals(4.0, scorer.score_datafile(self.df1)) self.assertEquals([(self.df1, self.rep1, 4.0)], scorer.score_datafiles_in_dataset(self.ds1)) self.assertEquals([(self.df5, self.rep5, 8.0), (self.df4, self.rep4, 6.0), (self.df1, self.rep1, 4.0)], scorer.score_datafiles_in_experiment(self.exp1)) self.assertEquals([(self.df5, self.rep5, 8.0), (self.df4, self.rep4, 6.0)], scorer.score_datafiles_in_experiment(self.exp2)) self.assertEquals([(self.df6, self.rep6, 5.0)], scorer.score_datafiles_in_experiment(self.exp3)) self.assertEquals([(self.df5, self.rep5, 8.0), (self.df4, self.rep4, 6.0), (self.df6, self.rep6, 5.0), (self.df1, self.rep1, 4.0), (self.df7, self.rep7, 0.0), (self.df8, self.rep8, 0.0)], scorer.score_all_datafiles()) self.assertEquals([(self.df7, self.rep7, 0.0), (self.df8, self.rep8, 0.0)], scorer.score_datafiles_in_dataset(self.ds4))
def user_score(self, user): from tardis.apps.migration.models import get_user_priority try: return self.user_scores[user.id] except KeyError: pass priority = get_user_priority(user) score = self.user_priority_weighting[priority] self.user_scores[user.id] = score return score