validateQuestions function
Reject empty question sets and invalid score criteria.
Implementation
void validateQuestions(Map<String, Question> questions) {
if (questions.isEmpty) {
throw TypeSafeException('At least one question is required.');
}
questions.forEach((name, question) {
if (question is! ScoreQuestion) return;
if (question.scoreCriteria.length < 2) {
throw TypeSafeException(
'Score question "$name" has ${question.scoreCriteria.length} criteria; '
'at least two scores are required.',
);
}
});
}