Beispiel #1
0
    def testEq(self):
        self.SetupTestAttributes()

        rf1 = WeakMethodRef(self.c.f)
        rf2 = WeakMethodRef(self.c.f)
        assert rf1 == rf2
        rf3 = WeakMethodRef(self.d.f)
        assert rf1 != rf3
        del self.c
        assert rf1.is_dead()
        assert rf2.is_dead()
        assert rf1 == rf2
Beispiel #2
0
    def testEq(self):
        self.SetupTestAttributes()

        rf1 = WeakMethodRef(self.c.f)
        rf2 = WeakMethodRef(self.c.f)
        assert rf1 == rf2
        rf3 = WeakMethodRef(self.d.f)
        assert rf1 != rf3
        del self.c
        assert rf1.is_dead()
        assert rf2.is_dead()
        assert rf1 == rf2
Beispiel #3
0
    def testDies(self):
        self.SetupTestAttributes()

        rf = WeakMethodRef(self.c.f)
        pf = WeakMethodProxy(self.c.f)
        assert not rf.is_dead()
        assert not pf.is_dead()
        assert rf()() == 1
        assert pf(2) == 3
        self.c = None
        assert rf.is_dead()
        assert pf.is_dead()
        assert rf() == None
        with pytest.raises(ReferenceError):
            pf()
Beispiel #4
0
    def testDies(self):
        self.SetupTestAttributes()

        rf = WeakMethodRef(self.c.f)
        pf = WeakMethodProxy(self.c.f)
        assert not rf.is_dead()
        assert not pf.is_dead()
        assert rf()() == 1
        assert pf(2) == 3
        self.c = None
        assert rf.is_dead()
        assert pf.is_dead()
        assert rf() == None
        with pytest.raises(ReferenceError):
            pf()
Beispiel #5
0
    def testWorksWithUnboundMethods(self):
        self.SetupTestAttributes()

        meth = self.C.f
        rf = WeakMethodRef(meth)
        pf = WeakMethodProxy(meth)
        assert meth(self.c) == 1
        assert rf()(self.c) == 1
        assert pf(self.c) == 1
        assert not rf.is_dead()
        assert not pf.is_dead()
Beispiel #6
0
    def testWorksWithUnboundMethods(self):
        self.SetupTestAttributes()

        meth = self.C.f
        rf = WeakMethodRef(meth)
        pf = WeakMethodProxy(meth)
        assert meth(self.c) == 1
        assert rf()(self.c) == 1
        assert pf(self.c) == 1
        assert not rf.is_dead()
        assert not pf.is_dead()
Beispiel #7
0
    def testWorksWithFunctions(self):
        self.SetupTestAttributes()

        def foo(y):
            return y + 1
        rf = WeakMethodRef(foo)
        pf = WeakMethodProxy(foo)
        assert foo(1) == 2
        assert rf()(1) == 2
        assert pf(1) == 2
        assert not rf.is_dead()
        assert not pf.is_dead()
Beispiel #8
0
    def testWorksWithFunctions(self):
        self.SetupTestAttributes()

        def foo(y):
            return y + 1

        rf = WeakMethodRef(foo)
        pf = WeakMethodProxy(foo)
        assert foo(1) == 2
        assert rf()(1) == 2
        assert pf(1) == 2
        assert not rf.is_dead()
        assert not pf.is_dead()