'Test all conditions under which the entire problem
(not a particular option) is marked incorrect'

def test_problem_marked_incorrect(self):

    grouping_tags = {'radio': 'label', 'checkbox': 'section'}
    conditions = [{'status': Status('incorrect'), 'input_type': 'radio', 'value': {}}, {'status': Status('incorrect'), 'input_type': 'checkbox', 'value': self.WRONG_CHOICE_CHECKBOX}, {'status': Status('incorrect'), 'input_type': 'checkbox', 'value': self.BOTH_CHOICE_CHECKBOX}, {'status': Status('incorrect'), 'input_type': 'checkbox', 'value': self.VALUE_DICT}, {'status': Status('incomplete'), 'input_type': 'radio', 'value': {}}, {'status': Status('incomplete'), 'input_type': 'checkbox', 'value': self.WRONG_CHOICE_CHECKBOX}, {'status': Status('incomplete'), 'input_type': 'checkbox', 'value': self.BOTH_CHOICE_CHECKBOX}, {'status': Status('incomplete'), 'input_type': 'checkbox', 'value': self.VALUE_DICT}]
    for test_conditions in conditions:
        self.context.update(test_conditions)
        xml = self.render_to_xml(self.context)
        xpath = "//div[@class='indicator-container']/span[@class='status    incorrect']"
        self.assert_has_xpath(xml, xpath, self.context)
        grouping_tag = grouping_tags[test_conditions['input_type']]
        self.assert_no_xpath(xml, "//{0}[@class='choicetextgroup_incorrect']".format(grouping_tag), self.context)
        self.assert_no_xpath(xml, "//{0}[@class='choicetextgroup_correct']".format(grouping_tag), self.context)
