code: def validate(self):
          
          try:
              assert self.question_type == exercises.SINGLE_SELECTION, "Assumption Failed: Question should be single selection type"
              assert len(self.answers) > 0, "Assumption Failed: Multiple selection question should have answers"
              correct_answers = 0
              for a in self.answers:
                  assert 'answer' in a and isinstance(a['answer'], str), "Assumption Failed: Answer in answer list is not a string"
                  assert 'correct' in a and isinstance(a['correct'], bool), "Assumption Failed: Correct indicator is not a boolean in answer list"
                  correct_answers += 1 if a['correct'] else 0
              assert correct_answers == 1, "Assumption Failed: Single selection question should have only one correct answer"
              for h in self.hints:
                  assert isinstance(h, str), "Assumption Failed: Hint in hints list is not a string"
              return super(SingleSelectQuestion, self).validate()
          except AssertionError as ae:
              raise InvalidQuestionException("Invalid question: {0}".format(self.__dict__))
docs: validate: Makes sure single selection question is valid
              Args: None
              Returns: boolean indicating if single selection question is valid