'Returns a `CorrectMap` showing whether `student_answers` are correct.
`student_answers` contains keys for binary inputs(radiobutton,
checkbox) and numerical inputs. Keys ending with \'bc\' are binary
choice inputs otherwise they are text fields.
This method first separates the two
types of answers and then grades them in separate methods.
The student is only correct if they have both the binary inputs and
numerical inputs correct.'

def get_score(self, student_answers):

    answer_dict = student_answers.get(self.answer_id, '')
    (binary_choices, numtolerance_inputs) = self._split_answers_dict(answer_dict)
    choices_correct = self._check_student_choices(binary_choices)
    inputs_correct = self._check_student_inputs(numtolerance_inputs)
    correct = (choices_correct and inputs_correct)
    return CorrectMap(self.answer_id, ('correct' if correct else 'incorrect'))
