def setUp(self): self.widget = MultipleChoiceWidget('multiple_choice_widget')
class TestMultipleChoiceWidget(TestCase): def setUp(self): self.widget = MultipleChoiceWidget('multiple_choice_widget') def test_get_other_input_returns_none_for_empty_input(self): assert self.widget.get_other_input({}) is None assert self.widget.get_other_input(MultiDict()) is None def test_get_other_input_with_single_value(self): post_vars = {'answer': 'answer_value'} assert self.widget.get_other_input(post_vars) is None def test_get_other_input_when_other_value_supplied_returns_other_value(self): post_vars = {'multiple_choice_widget': ['Other', 'Other value']} assert self.widget.get_other_input(post_vars) == 'Other value' def test_get_other_input_when_other_selected_but_no_value_specified(self): post_vars = {'multiple_choice_widget': ['Other', '']} assert self.widget.get_other_input(post_vars) is None def test_get_other_input_with_multi_dict(self): post_vars = MultiDict() post_vars.add('multiple_choice_widget', 'Other') post_vars.add('multiple_choice_widget', 'Other value') assert self.widget.get_other_input(post_vars) == 'Other value' def test_get_other_input_with_multi_dict_no_other_value(self): post_vars = MultiDict() post_vars.add('multiple_choice_widget', 'Other') post_vars.add('multiple_choice_widget', '') assert self.widget.get_other_input(post_vars) is None def test_get_other_input_single_value_returns_none(self): post_vars = {'multiple_choice_widget': ['Some value']} assert self.widget.get_other_input(post_vars) is None assert self.widget.get_user_input(post_vars) == ['Some value'] def test_get_other_value_when_blank_returns_other(self): post_vars = MultiDict() post_vars.add('multiple_choice_widget', 'Other') post_vars.add('multiple_choice_widget', ' ') assert self.widget.get_other_input(post_vars) is None def test_get_other_value_when_single_value_called_other_returns_none(self): post_vars = {'multiple_choice_widget': ['Other']} assert self.widget.get_other_input(post_vars) is None