Fill the missing judgments as REJECT judgments.

This should be optional.
mj-v1.12
domi41 4 years ago
parent 59277db433
commit b5244b5eae

@ -33,6 +33,15 @@ func (deli *PollNaiveDeliberator) Deliberate(poll *Poll) (_ *PollResult, err err
return nil, err
}
for _, candidateTally := range pollTally.Candidates {
theLost := pollTally.MaxJudgmentsAmount - candidateTally.JudgmentsAmount
if 0 < theLost {
candidateTally.JudgmentsAmount = pollTally.MaxJudgmentsAmount
candidateTally.Grades[0].Amount += theLost
//println("Added the lost judgments", theLost)
}
}
candidates := make(PollCandidateResults, 0, 64)
for _, candidateTally := range pollTally.Candidates {

@ -75,14 +75,14 @@ func TestNaiveDeliberator(t *testing.T) {
assert.NotNil(t, result.Tally)
assert.NotNil(t, result.Candidates)
assert.Len(t, result.Candidates, 1)
assert.Equal(t, uint64(0), result.Candidates[0].Position)
assert.Equal(t, uint64(1), result.Candidates[0].Position)
// Add another judgment from Bob
judgment, err = CreateJudgment(&CreateJudgmentOptions{
Judge: userBob,
Poll: poll,
Grade: 3,
Grade: 4,
CandidateID: 2,
})
assert.NoError(t, err)
@ -93,8 +93,8 @@ func TestNaiveDeliberator(t *testing.T) {
assert.NotNil(t, result)
assert.NotNil(t, result.Candidates)
assert.Len(t, result.Candidates, 2)
assert.Equal(t, uint64(0), result.Candidates[0].Position)
assert.Equal(t, uint64(1), result.Candidates[1].Position)
assert.Equal(t, uint64(1), result.Candidates[0].Position)
assert.Equal(t, uint64(2), result.Candidates[1].Position)
assert.Equal(t, int64(1), result.Candidates[0].CandidateID)
assert.Equal(t, int64(2), result.Candidates[1].CandidateID)
assert.Equal(t, uint8(2), result.Candidates[0].MedianGrade)

Loading…
Cancel
Save