QuestionValidator.java

package com.github.quizclash.domain;

import java.util.Arrays;

public class QuestionValidator {
  public static QuestionOption[] validate(QuestionOption[] questionOptions)
      throws InvalidQuestionFormatException {
    if (questionOptions.length != 4) {
      throw new InvalidQuestionFormatException(
          "Question should only have 4 options, got " + questionOptions.length);
    }
    long trueCount = Arrays.stream(questionOptions).filter(QuestionOption::isRight).count();
    if (trueCount != 1) {
      throw new InvalidQuestionFormatException(
          "Only one question option can be right, got " + trueCount);
    }
    return questionOptions;
  }
}