Exemple #1
0
 def test_creation_with_arguments(self):
     self.assertEqual(
         Binding(DUMMY.identity_function, (33, ))('test'), (33, 'test'))
     self.assertEqual(
         WeakBinding(DUMMY.identity_function, (33, ))('test'), (33, 'test'))
     self.assertEqual(
         RaisingWeakBinding(DUMMY.identity_function, (33, ))('test'),
         (33, 'test'))
Exemple #2
0
 def test_invocation(self):
     self.assertEqual(
         Binding(DUMMY.identity_function)(33, 'test'), (33, 'test'))
     self.assertEqual(
         WeakBinding(DUMMY.identity_function)(33, 'test'), (33, 'test'))
     self.assertEqual(
         RaisingWeakBinding(DUMMY.identity_function)(33, 'test'),
         (33, 'test'))
Exemple #3
0
 def test_invocation_keywords(self):
     keywords = {'a': 1, 'b': 2}
     self.assertEqual(
         Binding(DUMMY.keyword_dict_function)(**keywords), keywords)
     self.assertEqual(
         WeakBinding(DUMMY.keyword_dict_function)(**keywords), keywords)
     self.assertEqual(
         RaisingWeakBinding(DUMMY.keyword_dict_function)(**keywords),
         keywords)
Exemple #4
0
 def test_creation_with_keywords(self):
     keywords = {'a': 1, 'b': 2}
     self.assertEqual(
         Binding(DUMMY.keyword_dict_function, (), keywords)(), keywords)
     self.assertEqual(
         WeakBinding(DUMMY.keyword_dict_function, (), None, keywords)(),
         keywords)
     self.assertEqual(
         RaisingWeakBinding(DUMMY.keyword_dict_function, (), None,
                            keywords)(), keywords)
Exemple #5
0
    def test_garbage_collection_1(self):
        object = Dummy()
        method = WeakBinding(object.identity_function)

        self.assertEqual(method(15), 15)

        del object
        self.collect_garbage()

        self.assertEqual(method(15), None)
Exemple #6
0
    def test_unreferencable_object_method_failure(self):
        class Test(object):
            __slots__ = ()

            def test(self):
                pass

        self.assertRaises(CannotWeakReferenceError,
                          lambda: WeakBinding(Test().test))
        self.assertRaises(CannotWeakReferenceError,
                          lambda: RaisingWeakBinding(Test().test))
Exemple #7
0
 def test_creation(self):
     Binding(DUMMY.identity_function)
     WeakBinding(DUMMY.identity_function)
     RaisingWeakBinding(DUMMY.identity_function)