def test_to_python_string(self): item = SelectMultipleField() for i, v in enumerate(self.choices_list): subset = self.choices_list[0: i] encoded = encode_list_to_csv(subset) self.assertIsInstance(item.to_python(encoded), list) self.assertEqual(item.to_python(encoded), sorted(subset))
def test_to_python_single_string(self): item = SelectMultipleField() single = self.choices_list[3] self.assertIsInstance( item.to_python(single), list) self.assertEquals( item.to_python(single), [single])
def test_to_python_invalid_type(self): item = SelectMultipleField() invalid_type = True with self.assertRaises(ValidationError) as cm: item.to_python(invalid_type) self.assertEqual( cm.exception.messages[0], (SelectMultipleField.default_error_messages['invalid_type'] % {'value': type(invalid_type)}))
def test_to_python_list_w_invalid_value(self): item = SelectMultipleField(choices=self.choices) self.assertTrue(item.choices) invalid_list = ['InvalidChoice'] with self.assertRaises(ValidationError) as cm: item.to_python(invalid_list) self.assertEqual( cm.exception.messages[0], SelectMultipleField. default_error_messages['invalid_choice'].format(invalid_list[0]))
def test_to_python_list_w_invalid_value(self): item = SelectMultipleField(choices=self.choices) self.assertTrue(item.choices) invalid_list = ['InvalidChoice'] with self.assertRaises(ValidationError) as cm: item.to_python(invalid_list) self.assertEqual( cm.exception.messages[0], (SelectMultipleField.default_error_messages['invalid_choice'] % {'value': invalid_list[0]}) )
def test_to_python_list(self): for choices, choices_list in self.test_choices: item = SelectMultipleField(choices=choices) self.assertTrue(item.choices) self.assertIsInstance(item.to_python(choices_list), list) self.assertEquals(item.to_python(choices_list), choices_list)
def test_to_python_empty_list(self): item = SelectMultipleField() self.assertIsInstance(item.to_python([]), list) self.assertEquals(item.to_python([]), [])
def test_to_python_none(self): item = SelectMultipleField() self.assertIs(item.to_python(None), None)