コード例 #1
0
    def test_discover_functions_in_class(self):
        # SETUP
        class C:
            def f1(self):
                ...

            def _f2(self):
                ...

            @staticmethod
            def f3():
                ...

            @classmethod
            def f4(cls):
                ...

        # EXECUTE
        functions = discover_functions(C, include_privates=True)

        # VERIFY
        self.assertEqual(4, len(functions))
        self.assertIn(C.f1, functions)
        self.assertIn(C._f2, functions)
        self.assertIn(C.f3, functions)
        self.assertIn(C.f4, functions)
コード例 #2
0
    def test_discover_functions_in_module(self):
        # EXECUTE
        functions = discover_functions(module1_level2)

        # VERIFY
        self.assertEqual(1, len(functions))
        self.assertIn(function1_level2, functions)
コード例 #3
0
    def test_discover_functions_in_path(self):
        # SETUP
        path_to_resources = (Path(__file__).parent.parent / 'test_resources'
                             / 'examples_for_tests')

        # EXECUTE
        functions = discover_functions(path_to_resources)

        # VERIFY
        self.assertEqual(2, len(functions))
        self.assertIn(function1, functions)
        self.assertIn(function1_level2, functions)
コード例 #4
0
    def test_discover_private_functions(self):
        # SETUP
        path_to_resources = (Path(__file__).parent.parent / 'test_resources'
                             / 'examples_for_tests')

        # EXECUTE
        functions = discover_functions(path_to_resources, include_privates=True)

        # VERIFY
        self.assertEqual(3, len(functions))
        self.assertIn(function1, functions)
        self.assertIn(function1_level2, functions)
        self.assertIn(_private_function, functions)
コード例 #5
0
    def test_discover_functions_with_signature(self):
        # SETUP
        path_to_resources = (Path(__file__).parent.parent / 'test_resources'
                             / 'examples_for_tests')

        # EXECUTE
        functions = discover_functions(path_to_resources,
                                       include_privates=True,
                                       in_private_modules=True,
                                       signature=Callable[[int, float], str])

        # VERIFY
        self.assertEqual(1, len(functions))
        self.assertIn(private_module_private_function, functions)
コード例 #6
0
 def test_discover_functions_with_wrong_argument(self):
     # EXECUTE & VALIDATE
     with self.assertRaises(ValueError):
         discover_functions(123)