[SQL-CVS] r4205 - SQLObject/trunk/sqlobject/tests
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2010-07-12 15:47:59
|
Author: phd Date: 2010-07-12 09:47:53 -0600 (Mon, 12 Jul 2010) New Revision: 4205 Modified: SQLObject/trunk/sqlobject/tests/test_validation.py Log: Test instances of classes with special methods. Modified: SQLObject/trunk/sqlobject/tests/test_validation.py =================================================================== --- SQLObject/trunk/sqlobject/tests/test_validation.py 2010-07-12 15:26:34 UTC (rev 4204) +++ SQLObject/trunk/sqlobject/tests/test_validation.py 2010-07-12 15:47:53 UTC (rev 4205) @@ -8,14 +8,36 @@ class SOValidation(SQLObject): - name = StringCol(validator=validators.PlainText(), default='x', dbName='name_col') + name = StringCol(validator=validators.PlainText(), + default='x', dbName='name_col') name2 = StringCol(validator=validators.ConfirmType(type=str), default='y') name3 = IntCol(validator=validators.Wrapper(fromPython=int), default=100) name4 = FloatCol(default=2.718) name5 = PickleCol(default=None) name6 = BoolCol(default=None) name7 = UnicodeCol(default=None) + name8 = IntCol(default=None) +class SOValidationTest(object): + def __init__(self, value): + self.value = value + +class SOValidationTestUnicode(SOValidationTest): + def __unicode__(self): + return self.value + +class SOValidationTestInt(SOValidationTest): + def __int__(self): + return self.value + +class SOValidationTestBool(SOValidationTest): + def __nonzero__(self): + return self.value + +class SOValidationTestFloat(SOValidationTest): + def __float__(self): + return self.value + class TestValidation: def setup_method(self, meth): @@ -37,6 +59,14 @@ t.name2 = 'you' assert t.name2 == 'you' + for name, cls, value in ( + ('name4', SOValidationTestFloat, 1.1), + ('name6', SOValidationTestBool, True), + ('name7', SOValidationTestUnicode, u'test'), + ('name8', SOValidationTestInt, 1)): + setattr(t, name, cls(value)) + assert getattr(t, name) == value + def test_wrapType(self): t = SOValidation(name3=1) raises(validators.Invalid, setattr, t, 'name3', 'x') |