def test_default_enum(): good_values = (u'a', u'b', u'c') for good_val in good_values: for schema in (Enum.using(valid_values=good_values), Enum.valued(*good_values)): el = schema() assert el.set(good_val) assert el.value == good_val assert el.u == good_val assert el.validate() assert not el.errors schema = Enum.valued(*good_values) el = schema() assert not el.set(u'd') assert el.value is None assert el.u == u'd' # present but not converted assert el.validate() el = schema() assert not el.set(None) assert el.value is None assert el.u == u'' # not present assert not el.validate()
def test_default_enum(): good_values = (u'a', u'b', u'c') for good_val in good_values: for schema in (Enum.using(valid_values=good_values), Enum.valued(*good_values)): el = schema() assert el.set(good_val) assert el.value == good_val assert el.u == good_val assert el.validate() assert not el.errors schema = Enum.valued(*good_values) el = schema() assert not el.set(u'd') assert el.value is None assert el.u == u'd' # present but not converted assert el.validate() el = schema() assert not el.set(None) assert el.value is None assert el.u == u'' # not present assert not el.validate()
def test_typed_enum(): good_values = range(1, 4) schema = Enum.using(valid_values=good_values, child_type=Integer) for good_val in good_values: el = schema() assert el.set(unicode(str(good_val), 'ascii')) assert el.value == good_val assert el.u == unicode(str(good_val), 'ascii') assert not el.errors el = schema() assert not el.set(u'x') assert el.value is None assert el.u == u'x' el = schema() assert not el.set(u'5') assert el.value is None assert el.u == u'5'
def test_typed_enum(): good_values = range(1, 4) schema = Enum.using(valid_values=good_values, child_type=Integer) for good_val in good_values: el = schema() assert el.set(text_transform(good_val)) assert el.value == good_val assert el.u == text_transform(good_val) assert not el.errors el = schema() assert not el.set(u'x') assert el.value is None assert el.u == u'x' el = schema() assert not el.set(u'5') assert el.value is None assert el.u == u'5'
def test_typed_enum(): good_values = range(1, 4) schema = Enum.using(valid_values=good_values, child_type=Integer) for good_val in good_values: el = schema() assert el.set(unicode(str(good_val), 'ascii')) assert el.value == good_val assert el.u == unicode(str(good_val), 'ascii') assert not el.errors el = schema() assert not el.set(u'x') assert el.value is None assert el.u == u'x' el = schema() assert not el.set(u'5') assert el.value is None assert el.u == u'5'