def test_can_match_non_ascii_choice(self): field_format = fields.ChoiceFieldFormat("geschlecht", False, None, "\"männlich\", \"weiblich\"", _ANY_FORMAT) self.assertEqual(field_format.validated("männlich"), "männlich") self.assertRaises(errors.FieldValueError, field_format.validated, "unbekannt")
def test_can_output_sql_smallint(self): field_format = fields.ChoiceFieldFormat("color", True, None, "1,2, 3 ", _ANY_FORMAT) column_def, constraint = field_format.as_sql(sql.MSSQL) self.assertEqual(column_def, "color smallint") self.assertEqual( constraint, "constraint chk_rule_color check( color in (1,2,3) )")
def test_fails_on_wrong_case(self): field_format = fields.ChoiceFieldFormat("color", False, None, "red,grEEn,blue", _ANY_FORMAT) self.assertEqual(field_format.validated("grEEn"), "grEEn") self.assertRaises(errors.FieldValueError, field_format.validated, "green") self.assertRaises(errors.FieldValueError, field_format.validated, "blUE")
def test_can_output_sql_varchar(self): field_format = fields.ChoiceFieldFormat("color", True, None, "red,grEEn, blue ", _ANY_FORMAT) column_def, constraint = field_format.as_sql(sql.MSSQL) self.assertEqual(column_def, "color varchar(255)") self.assertEqual( constraint, "constraint chk_rule_color check( color in ('red','grEEn','blue') )" )
def test_can_match_possibly_empty_field_with_length(self): field_format = fields.ChoiceFieldFormat("optional_color", True, ":5", "red, green, blue", _ANY_FORMAT) self.assertEqual(field_format.validated("red"), "red") self.assertEqual(field_format.validated(""), "")
def test_can_match_only_choice(self): field_format = fields.ChoiceFieldFormat("color", False, None, "red", _ANY_FORMAT) self.assertEqual(field_format.validated("red"), "red")
def test_fails_on_improper_choice(self): field_format = fields.ChoiceFieldFormat("color", False, None, "red,green,blue", _ANY_FORMAT) self.assertRaises(errors.FieldValueError, field_format.validated, "tree")
def test_can_match_rule_embedded_in_blanks(self): field_format = fields.ChoiceFieldFormat("color", False, None, "red, green ,blue ", _ANY_FORMAT) self.assertEqual(field_format.validated("green"), "green")
def test_can_match_choice(self): field_format = fields.ChoiceFieldFormat("color", False, None, "red,grEEn,blue", _ANY_FORMAT) self.assertEqual(field_format.validated("red"), "red") self.assertEqual(field_format.validated("grEEn"), "grEEn") self.assertEqual(field_format.validated("blue"), "blue")