Beispiel #1
0
    def test_add_method_default_name(self):
        class Extendee(object):
            pass

        instance = Extendee()

        def method(self):
            "This is the test extension method."
            return "The result of method()"

        add_method(method, Extendee)

        self.assertTrue(hasattr(Extendee, "method"))
        self.assertTrue(hasattr(instance, "method"))

        self.assertEqual(method.__doc__, Extendee.method.__doc__)
        self.assertEqual(function_name(method), function_name(Extendee.method))

        self.assertEqual(instance.method(), "The result of method()")
Beispiel #2
0
    def test_add_method_default_name(self):

        class Extendee(object):
            pass

        instance = Extendee()

        def method(self):
            "This is the test extension method."
            return "The result of method()"

        add_method(method, Extendee)

        self.assertTrue(hasattr(Extendee, "method"))
        self.assertTrue(hasattr(instance, "method"))
        
        self.assertEqual(method.__doc__, Extendee.method.__doc__)
        self.assertEqual(function_name(method), function_name(Extendee.method))

        self.assertEqual(instance.method(), "The result of method()")
Beispiel #3
0
    def test_add_method_with_existing_name(self):
        class Extendee(object):
            def foo(self):
                return "This is the original foo"

        instance = Extendee()

        self.assertFalse(hasattr(Extendee, "method"))
        self.assertFalse(hasattr(instance, "method"))

        def method(self):
            "This is the test extension method."
            return "The result of method()"

        self.assertRaises(ValueError,
                          lambda: add_method(method, Extendee, "foo"))
Beispiel #4
0
    def test_add_method_with_existing_name(self):

        class Extendee(object):

            def foo(self):
                return "This is the original foo"

        instance = Extendee()

        self.assertFalse(hasattr(Extendee, "method"))
        self.assertFalse(hasattr(instance, "method"))

        def method(self):
            "This is the test extension method."
            return "The result of method()"
        
        self.assertRaises(ValueError, lambda: add_method(method, Extendee, "foo"))