public override int Evaluate(IProblemAnswer answer) { ComplexProblemAnswer answers = answer as ComplexProblemAnswer; if (answers != null) { int corrects = answers.Answers.Where(x => CorrectAnswers.Contains(x)).Count(); int incorrect = answers.Answers.Where(x => !CorrectAnswers.Contains(x)).Count(); return Math.Max(0, corrects - incorrect); } return 0; }
public virtual int Evaluate(IProblemAnswer answer) { return 0; }
public override int Evaluate(IProblemAnswer answer) { SimpleProblemAnswer sans = answer as SimpleProblemAnswer; return sans != null ? sans.Answer == CorrectAnswer ? 1 : 0 : 0; }
public override int Evaluate(IProblemAnswer answer) { HumanGradableAnswer ans = answer as HumanGradableAnswer; return ans == null ? 0 : ans.Score; }