diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-07-27 04:08:53 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-07-27 04:08:53 +0000 |
commit | ed4fc64bb0ac61c27bc4af32962fb129e74a36bf (patch) | |
tree | c1cf2fb7b1cafced82a8898e23d2a0bf5ced8526 /test/orm/inheritance4.py | |
parent | 3a8e235af64e36b3b711df1f069d32359fe6c967 (diff) | |
download | sqlalchemy-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/inheritance4.py')
-rw-r--r-- | test/orm/inheritance4.py | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/test/orm/inheritance4.py b/test/orm/inheritance4.py deleted file mode 100644 index 9f4e275ae..000000000 --- a/test/orm/inheritance4.py +++ /dev/null @@ -1,66 +0,0 @@ -from sqlalchemy import * -import testbase - -class ConcreteTest1(testbase.ORMTest): - def define_tables(self, metadata): - global managers_table, engineers_table - managers_table = Table('managers', metadata, - Column('employee_id', Integer, primary_key=True), - Column('name', String(50)), - Column('manager_data', String(50)), - ) - - engineers_table = Table('engineers', metadata, - Column('employee_id', Integer, primary_key=True), - Column('name', String(50)), - Column('engineer_info', String(50)), - ) - - 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 - - pjoin = polymorphic_union({ - 'manager':managers_table, - 'engineer':engineers_table - }, 'type', 'pjoin') - - employee_mapper = mapper(Employee, pjoin, polymorphic_on=pjoin.c.type) - manager_mapper = mapper(Manager, managers_table, inherits=employee_mapper, concrete=True, polymorphic_identity='manager') - engineer_mapper = mapper(Engineer, engineers_table, inherits=employee_mapper, concrete=True, polymorphic_identity='engineer') - - session = create_session() - session.save(Manager('Tom', 'knows how to manage things')) - session.save(Engineer('Kurt', 'knows how to hack')) - session.flush() - session.clear() - - assert set([repr(x) for x in session.query(Employee).select()]) == set(["Engineer Kurt knows how to hack", "Manager Tom knows how to manage things"]) - assert set([repr(x) for x in session.query(Manager).select()]) == set(["Manager Tom knows how to manage things"]) - assert set([repr(x) for x in session.query(Engineer).select()]) == set(["Engineer Kurt knows how to hack"]) - - def testwithrelation(self): - pass - - # TODO: test a self-referential relationship on a concrete polymorphic mapping - - -if __name__ == '__main__': - testbase.main()
\ No newline at end of file |