Commit 714161c8 authored by Alex Gaynor's avatar Alex Gaynor
Browse files

Fix != operations on lazy objects.

parent 59d127e4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -346,6 +346,7 @@ class SimpleLazyObject(LazyObject):
    # care about this (especially in equality tests)
    __class__ = property(new_method_proxy(operator.attrgetter("__class__")))
    __eq__ = new_method_proxy(operator.eq)
    __ne__ = new_method_proxy(operator.ne)
    __hash__ = new_method_proxy(hash)
    __bool__ = new_method_proxy(bool)       # Python 3
    __nonzero__ = __bool__                  # Python 2
+9 −0
Original line number Diff line number Diff line
@@ -152,3 +152,12 @@ class TestUtilsSimpleLazyObject(TestCase):
            SimpleLazyObject(None)
        finally:
            sys.settrace(old_trace_func)

    def test_not_equal(self):
        lazy1 = SimpleLazyObject(lambda: 2)
        lazy2 = SimpleLazyObject(lambda: 2)
        lazy3 = SimpleLazyObject(lambda: 3)
        self.assertEqual(lazy1, lazy2)
        self.assertNotEqual(lazy1, lazy3)
        self.assertTrue(lazy1 != lazy3)
        self.assertFalse(lazy1 != lazy2)