QuestionValidator.java

  1. package com.github.quizclash.domain;

  2. import java.util.Arrays;

  3. public class QuestionValidator {
  4.   public static QuestionOption[] validate(QuestionOption[] questionOptions)
  5.       throws InvalidQuestionFormatException {
  6.     if (questionOptions.length != 4) {
  7.       throw new InvalidQuestionFormatException(
  8.           "Question should only have 4 options, got " + questionOptions.length);
  9.     }
  10.     long trueCount = Arrays.stream(questionOptions).filter(QuestionOption::isRight).count();
  11.     if (trueCount != 1) {
  12.       throw new InvalidQuestionFormatException(
  13.           "Only one question option can be right, got " + trueCount);
  14.     }
  15.     return questionOptions;
  16.   }
  17. }