]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Expanded --noncomparable to cover all comparision ops
authorJason Kirtland <jek@discorporate.us>
Fri, 25 Apr 2008 20:44:02 +0000 (20:44 +0000)
committerJason Kirtland <jek@discorporate.us>
Fri, 25 Apr 2008 20:44:02 +0000 (20:44 +0000)
lib/sqlalchemy/orm/collections.py
test/testlib/orm.py

index 838591d3257ab15a16a08b6b00258ccf170bdccd..1c07fb809420de057dc1d0250d6ddc7d7f56a32e 100644 (file)
@@ -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'. "
index 85b8cf58eb6f5f537c116a838a78ceb82f627ce7..d0ec155e6721e5418aa82bab0baf23488148ef30 100644 (file)
@@ -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,):