more tests about dal

This commit is contained in:
mdipierro
2012-08-26 15:51:15 -05:00
parent 847fd5bb3e
commit 0b5aff95e2
3 changed files with 33 additions and 2 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.00.0 (2012-08-26 14:12:05) dev
Version 2.00.0 (2012-08-26 15:51:11) dev
+12 -1
View File
@@ -39,7 +39,7 @@ Example of usage:
>>> # from dal import DAL, Field
### create DAL connection (and create DB if it doesn't exist)
>>> db = DAL(('mysql://a:b@localhost/x', 'sqlite://storage.sqlite'),
>>> db = DAL(('sqlite://storage.sqlite','mysql://a:b@localhost/x'),
... folder=None)
### define a table 'person' (create/alter as necessary)
@@ -9055,6 +9055,17 @@ def test_all():
>>> me = db(db.person.id==person_id).select()[0] # test select
>>> me.name
'Massimo'
>>> db.person[2].name
'Massimo'
>>> db.person(2).name
'Massimo'
>>> db.person(name='Massimo').name
'Massimo'
>>> db.person(db.person.name=='Massimo').name
'Massimo'
>>> row = db.person[2]
>>> row.name == row['name'] == row['person.name'] == row('person.name')
True
>>> db(db.person.name=='Massimo').update(name='massimo') # test update
1
>>> db(db.person.name=='Marco').select().first().delete_record() # test delete
+20
View File
@@ -129,6 +129,26 @@ class TestFields(unittest.TestCase):
)
self.assertEqual(db.t.insert(a=t0), 1)
self.assertEqual(db().select(db.t.a)[0].a, t0)
## Row APIs
row = db().select(db.t.a)[0]
self.assertEqual(db.t[1].a,t0)
self.assertEqual(db.t['a'],db.t.a)
self.assertEqual(db.t(1).a,t0)
self.assertTrue(db.t(1,a=None)==None)
self.assertFalse(db.t(1,a=t0)==None)
self.assertEqual(row.a,t0)
self.assertEqual(row['a'],t0)
self.assertEqual(row['t.a'],t0)
self.assertEqual(row('t.a'),t0)
## Lazy and Virtual fields
db.t.b = Field.Virtual(lambda row: row.t.a)
db.t.c = Field.Lazy(lambda row: row.t.a)
row = db().select(db.t.a)[0]
self.assertEqual(row.b,t0)
self.assertEqual(row.c(),t0)
db.t.drop()
db.define_table('t', Field('a', 'time', default='11:30'))
t0 = datetime.time(10, 30, 55)