3 from db_test import DBDakTestCase
5 from daklib.dbconn import DBConn, DebVersion
7 from sqlalchemy import Table, Column, Integer, func
8 from sqlalchemy.orm import mapper
11 class Version(object):
12 def __init__(self, version):
13 self.version = version
16 return "<Version('%s')>" % self.version
18 class DebVersionTestCase(DBDakTestCase):
20 super(DebVersionTestCase, self).setUp()
21 self.version_table = Table('version', self.metadata, \
22 Column('id', Integer, primary_key = True), \
23 Column('version', DebVersion), \
25 self.version_table.create(checkfirst = True)
26 mapper(Version, self.version_table)
28 def test_debversion(self):
35 #self.session.commit()
36 q = self.session.query(Version)
37 self.assertEqual(3, q.count())
38 self.assertEqual(2, q.filter(Version.version > '0.5~').count())
39 self.assertEqual(1, q.filter(Version.version > '0.5').count())
40 self.assertEqual(0, q.filter(Version.version > '1.0').count())
41 q = self.session.query(func.min(Version.version))
42 self.assertEqual('0.5~', q.one()[0])
43 q = self.session.query(func.max(Version.version))
44 self.assertEqual('1.0', q.one()[0])
48 self.version_table.drop()
49 super(DebVersionTestCase, self).tearDown()
51 if __name__ == '__main__':