def test_coerce_with_default(self): """ L{Parameter.coerce} returns F{Parameter.default} if the parameter is optional and not present in the request. """ parameter = Parameter("Test", optional=True, default=123) self.assertEqual(123, parameter.coerce(None))
def test_coerce(self): """ L{Parameter.coerce} coerces a request argument with a single value. """ parameter = Parameter("Test") parameter.parse = lambda value: value self.assertEqual("foo", parameter.coerce("foo"))
def test_coerce_with_empty_strings(self): """ L{Parameter.coerce} returns C{None} if the value is an empty string and C{allow_none} is C{True}. """ parameter = Parameter("Test", allow_none=True) self.assertEqual(None, parameter.coerce(""))
def test_validator_valid(self): """ L{Parameter.coerce} returns the correct value if validator returns True. """ parameter = Parameter("Test", validator=lambda _: True) parameter.parse = lambda value: value parameter.kind = "test_parameter" self.assertEqual("foo", parameter.coerce("foo"))
def test_coerce_with_optional(self): """L{Parameter.coerce} returns C{None} if the parameter is optional.""" parameter = Parameter("Test", optional=True) self.assertEqual(None, parameter.coerce(None))