'Test that confirms correct operation of grading when the inputtag is
checkboxtextgroup.'

def test_checkbox_grades(self):

    scenarios = {'2_choices_correct': ('checkbox_two_choices', 'correct'), '2_choices_incorrect': ('checkbox_two_choices', 'incorrect'), '2_choices_2_inputs_correct': ('checkbox_2_choices_2_inputs', 'correct'), '2_choices_2_inputs_missing_choice': ('checkbox_2_choices_2_inputs', 'incorrect'), '2_choices_2_inputs_wrong_input': ('checkbox_2_choices_2_inputs', 'incorrect')}
    inputs = {'2_choices_correct': [(True, []), (True, [])], '2_choices_incorrect': [(True, []), (False, [])], '2_choices_2_inputs_correct': [(True, ['123']), (True, ['456'])], '2_choices_2_inputs_missing_choice': [(True, ['123']), (False, ['456'])], '2_choices_2_inputs_wrong_input': [(True, ['123']), (True, ['654'])]}
    checkbox_two_choices = self._make_problem([('true', {}), ('true', {})], 'checkboxtextgroup')
    checkbox_two_choices_two_inputs = self._make_problem([('true', {'answer': '123', 'tolerance': '0'}), ('true', {'answer': '456', 'tolerance': '0'})], 'checkboxtextgroup')
    problems = {'checkbox_two_choices': checkbox_two_choices, 'checkbox_2_choices_2_inputs': checkbox_two_choices_two_inputs}
    for (name, inputs) in inputs.iteritems():
        submission = self._make_answer_dict(inputs)
        (problem_name, correctness) = scenarios[name]
        problem = problems[problem_name]
        self.assert_grade(problem, submission, correctness, msg='{0}    should    be    {1}'.format(name, correctness))
