From 49895a84fd59fd4c71f2526be3ceb878711ef99f Mon Sep 17 00:00:00 2001 From: Jason Kirtland Date: Fri, 25 Apr 2008 20:44:02 +0000 Subject: [PATCH] Expanded --noncomparable to cover all comparision ops --- lib/sqlalchemy/orm/collections.py | 1 + test/testlib/orm.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib/sqlalchemy/orm/collections.py b/lib/sqlalchemy/orm/collections.py index 838591d325..1c07fb8094 100644 --- a/lib/sqlalchemy/orm/collections.py +++ b/lib/sqlalchemy/orm/collections.py @@ -1376,6 +1376,7 @@ class MappedCollection(dict): key = self.keyfunc(value) # Let self[key] raise if key is not in this collection + # testlib.pragma exempt:__ne__ if self[key] != value: raise exceptions.InvalidRequestError( "Can not remove '%s': collection holds '%s' for key '%s'. " diff --git a/test/testlib/orm.py b/test/testlib/orm.py index 85b8cf58eb..d0ec155e67 100644 --- a/test/testlib/orm.py +++ b/test/testlib/orm.py @@ -98,6 +98,12 @@ def mapper(type_, *args, **kw): forbidden = [ ('__hash__', 'unhashable', lambda s: id(s)), ('__eq__', 'noncomparable', lambda s, o: s is o), + ('__ne__', 'noncomparable', lambda s, o: s is not o), + ('__cmp__', 'noncomparable', lambda s, o: object.__cmp__(s, o)), + ('__le__', 'noncomparable', lambda s, o: object.__le__(s, o)), + ('__lt__', 'noncomparable', lambda s, o: object.__lt__(s, o)), + ('__ge__', 'noncomparable', lambda s, o: object.__ge__(s, o)), + ('__gt__', 'noncomparable', lambda s, o: object.__gt__(s, o)), ('__nonzero__', 'truthless', lambda s: 1), ] if type_.__bases__ == (object,): -- 2.47.3