import formencode
+def test_OrderedSchema():
+ v = wrpylib.wrvalidators.OrderedSchema()
+ v.pre_validators = [formencode.Validator()]
+ v.chained_validators = [formencode.Validator()]
+ v.add_field(u'c', formencode.Validator())
+ v.add_field(u'b', formencode.Validator())
+ v.add_field(u'a', formencode.Validator())
+ v.add_field(u'd', formencode.Validator())
+ other = collections.OrderedDict([('d', 'd'), ('b', 'b'), ('a', 'a'), ('c', 'c')])
+ python = v.to_python(other)
+ assert python.keys() == other.keys()
+ assert python.values() == other.values()
+ other2 = v.from_python(python)
+ assert other.keys() == other2.keys()
+ assert other.values() == other2.values()
+
+
def test_NoneValidator():
v = wrpylib.wrvalidators.NoneValidator(wrpylib.wrvalidators.Unicode())
assert v.to_python(u'') == None