summaryrefslogtreecommitdiff
path: root/test/orm/single.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-07-27 04:08:53 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-07-27 04:08:53 +0000
commited4fc64bb0ac61c27bc4af32962fb129e74a36bf (patch)
treec1cf2fb7b1cafced82a8898e23d2a0bf5ced8526 /test/orm/single.py
parent3a8e235af64e36b3b711df1f069d32359fe6c967 (diff)
downloadsqlalchemy-ed4fc64bb0ac61c27bc4af32962fb129e74a36bf.tar.gz
merging 0.4 branch to trunk. see CHANGES for details. 0.3 moves to maintenance branch in branches/rel_0_3.
Diffstat (limited to 'test/orm/single.py')
-rw-r--r--test/orm/single.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/test/orm/single.py b/test/orm/single.py
deleted file mode 100644
index 31a90da21..000000000
--- a/test/orm/single.py
+++ /dev/null
@@ -1,63 +0,0 @@
-from sqlalchemy import *
-import testbase
-
-class SingleInheritanceTest(testbase.AssertMixin):
- def setUpAll(self):
- metadata = MetaData(testbase.db)
- global employees_table
- employees_table = Table('employees', metadata,
- Column('employee_id', Integer, primary_key=True),
- Column('name', String(50)),
- Column('manager_data', String(50)),
- Column('engineer_info', String(50)),
- Column('type', String(20))
- )
- employees_table.create()
- def tearDownAll(self):
- employees_table.drop()
- def testbasic(self):
- class Employee(object):
- def __init__(self, name):
- self.name = name
- def __repr__(self):
- return self.__class__.__name__ + " " + self.name
-
- class Manager(Employee):
- def __init__(self, name, manager_data):
- self.name = name
- self.manager_data = manager_data
- def __repr__(self):
- return self.__class__.__name__ + " " + self.name + " " + self.manager_data
-
- class Engineer(Employee):
- def __init__(self, name, engineer_info):
- self.name = name
- self.engineer_info = engineer_info
- def __repr__(self):
- return self.__class__.__name__ + " " + self.name + " " + self.engineer_info
-
- class JuniorEngineer(Engineer):
- pass
-
- employee_mapper = mapper(Employee, employees_table, polymorphic_on=employees_table.c.type)
- manager_mapper = mapper(Manager, inherits=employee_mapper, polymorphic_identity='manager')
- engineer_mapper = mapper(Engineer, inherits=employee_mapper, polymorphic_identity='engineer')
- junior_engineer = mapper(JuniorEngineer, inherits=engineer_mapper, polymorphic_identity='juniorengineer')
-
- session = create_session()
-
- m1 = Manager('Tom', 'knows how to manage things')
- e1 = Engineer('Kurt', 'knows how to hack')
- e2 = JuniorEngineer('Ed', 'oh that ed')
- session.save(m1)
- session.save(e1)
- session.save(e2)
- session.flush()
-
- assert session.query(Employee).select() == [m1, e1, e2]
- assert session.query(Engineer).select() == [e1, e2]
- assert session.query(Manager).select() == [m1]
- assert session.query(JuniorEngineer).select() == [e2]
-
-if __name__ == '__main__':
- testbase.main()