def METHOD_NAME(tmp_path: pathlib.Path) -> None:
    class Class:
        def func(
            self, a: int, /, b: float = 2, *args: int, c: int, **kwargs: int
        ) -> None:
            pass  # pragma: no cover
    funcs = api.ast.extract(source.make_file(tmp_path, Class))
    assert funcs == {
        'Class.func': api.Parameters(
            parameters=[
                api.Parameter(
                    name='self',
                    positional=True,
                    keyword=False,
                    required=True,
                    line=3,
                ),
                api.Parameter(
                    name='a',
                    positional=True,
                    keyword=False,
                    required=True,
                    line=3,
                    type_annotation=api.types.TypeName('int'),
                ),
                api.Parameter(
                    name='b',
                    positional=True,
                    keyword=True,
                    required=False,
                    line=3,
                    type_annotation=api.types.TypeName('float'),
                ),
                api.Parameter(
                    name='c',
                    positional=False,
                    keyword=True,
                    required=True,
                    line=3,
                    type_annotation=api.types.TypeName('int'),
                ),
            ],
            variadic_args=True,
            variadic_kwargs=True,
            line=2,
        )
    }