diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-10-25 20:28:03 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-10-25 20:28:03 -0400 |
| commit | 7f043a9666eecdecc54fe779ffdd50a7d5bb0086 (patch) | |
| tree | 945a98439e89265422632d20289babbe3079f7b1 /test/orm/test_mapper.py | |
| parent | 519c705317e801d714bd05a28f8b2786695d81cc (diff) | |
| download | sqlalchemy-7f043a9666eecdecc54fe779ffdd50a7d5bb0086.tar.gz | |
- some naming changes on PropComparator, Comparator:
1. all Comparators now have "parent" which is always the parent mapper
or AliasedClass instance
2. only RelationshipProperty.Comparator has "mapper" now, which
is the target mapper
3. The names "parententity" and "parentmapper" are underscored
also improved the message with the "neither comparator nor instruentedattribute...."
to include the classname + attribute name
Diffstat (limited to 'test/orm/test_mapper.py')
| -rw-r--r-- | test/orm/test_mapper.py | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py index f41843455..1d7e0228c 100644 --- a/test/orm/test_mapper.py +++ b/test/orm/test_mapper.py @@ -1331,7 +1331,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): assert_raises_message( AttributeError, "Neither 'extendedproperty' object nor 'UCComparator' " - "object has an attribute 'nonexistent'", + "object associated with User.uc_name has an attribute 'nonexistent'", getattr, User.uc_name, 'nonexistent') # test compile @@ -1350,8 +1350,8 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): sess.expunge_all() q = sess.query(User) - u2 = q.filter(User.name=='some user name').one() - u3 = q.filter(User.uc_name=='SOME USER NAME').one() + u2 = q.filter(User.name == 'some user name').one() + u3 = q.filter(User.uc_name == 'SOME USER NAME').one() assert u2 is u3 @@ -1365,23 +1365,33 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): __hash__ = None def __eq__(self, other): # lower case comparison - return func.lower(self.__clause_element__()) == func.lower(other) + return func.lower(self.__clause_element__() + ) == func.lower(other) def intersects(self, other): # non-standard comparator return self.__clause_element__().op('&=')(other) mapper(User, users, properties={ - 'name':sa.orm.column_property(users.c.name, comparator_factory=MyComparator) + 'name': sa.orm.column_property(users.c.name, + comparator_factory=MyComparator) }) assert_raises_message( AttributeError, - "Neither 'InstrumentedAttribute' object nor 'MyComparator' object has an attribute 'nonexistent'", + "Neither 'InstrumentedAttribute' object nor " + "'MyComparator' object associated with User.name has " + "an attribute 'nonexistent'", getattr, User.name, "nonexistent") - eq_(str((User.name == 'ed').compile(dialect=sa.engine.default.DefaultDialect())) , "lower(users.name) = lower(:lower_1)") - eq_(str((User.name.intersects('ed')).compile(dialect=sa.engine.default.DefaultDialect())), "users.name &= :name_1") + eq_( + str((User.name == 'ed').compile( + dialect=sa.engine.default.DefaultDialect())), + "lower(users.name) = lower(:lower_1)") + eq_( + str((User.name.intersects('ed')).compile( + dialect=sa.engine.default.DefaultDialect())), + "users.name &= :name_1") def test_reentrant_compile(self): |
