示例#1
0
    def test_(self):
        def new_vote(worker, sample, label):
            return WorkerQualityVote(worker=worker, sample=sample, label=label)

        mv = MajorityVoting(
            job_id=self.job.id,
            votes_storage=DBVotesStorage(storage_id=self.job.id),
        )
        mv.add_votes([])
        self.assertEqual([], mv.extract_decisions())

        WorkerQualityVote.objects.create(
            worker=self.workers[2],
            sample=self.sample,
            label=LABEL_YES,
        )
        self.assertEqual(LABEL_YES, mv.extract_decisions()[0][1])

        WorkerQualityVote.objects.bulk_create([
            new_vote(self.workers[0], self.sample, LABEL_NO),
            new_vote(self.workers[1], self.sample, LABEL_NO)
        ])
        self.assertEqual(LABEL_NO, mv.extract_decisions()[0][1])

        mv.reset()
        self.assertEqual([], mv.extract_decisions())

        WorkerQualityVote.objects.bulk_create([
            new_vote(self.workers[0], self.sample, LABEL_YES),
            new_vote(self.workers[1], self.sample, LABEL_YES),
            new_vote(self.workers[2], self.sample, LABEL_NO),
            new_vote(self.workers[3], self.sample, LABEL_NO),
            new_vote(self.workers[4], self.sample, LABEL_BROKEN),
            new_vote(self.workers[5], self.sample, LABEL_BROKEN),
            new_vote(self.workers[6], self.sample, LABEL_NO),
            new_vote(self.workers[7], self.sample, LABEL_NO),
            new_vote(self.workers[8], self.sample, LABEL_NO),
        ])
        self.assertEqual(LABEL_NO, mv.extract_decisions()[0][1])
示例#2
0
    def test_(self):
        def new_vote(worker, sample, label):
            return WorkerQualityVote(worker=worker, sample=sample, label=label)

        mv = MajorityVoting(
            job_id=self.job.id,
            votes_storage=DBVotesStorage(storage_id=self.job.id),
        )
        mv.add_votes([])
        self.assertEqual([], mv.extract_decisions())

        WorkerQualityVote.objects.create(
            worker=self.workers[2],
            sample=self.sample,
            label=LABEL_YES,
        )
        self.assertEqual(LABEL_YES, mv.extract_decisions()[0][1])

        WorkerQualityVote.objects.bulk_create([
            new_vote(self.workers[0], self.sample, LABEL_NO),
            new_vote(self.workers[1], self.sample, LABEL_NO)
        ])
        self.assertEqual(LABEL_NO, mv.extract_decisions()[0][1])

        mv.reset()
        self.assertEqual([], mv.extract_decisions())

        WorkerQualityVote.objects.bulk_create([
            new_vote(self.workers[0], self.sample, LABEL_YES),
            new_vote(self.workers[1], self.sample, LABEL_YES),
            new_vote(self.workers[2], self.sample, LABEL_NO),
            new_vote(self.workers[3], self.sample, LABEL_NO),
            new_vote(self.workers[4], self.sample, LABEL_BROKEN),
            new_vote(self.workers[5], self.sample, LABEL_BROKEN),
            new_vote(self.workers[6], self.sample, LABEL_NO),
            new_vote(self.workers[7], self.sample, LABEL_NO),
            new_vote(self.workers[8], self.sample, LABEL_NO),
        ])
        self.assertEqual(LABEL_NO, mv.extract_decisions()[0][1])