def METHOD_NAME():
    # test normal
    def func1(input0, input1, param0=5, param1=7):
        pass
    inputs, params = get_inputs_and_params(func1)
    for index, _input in enumerate(inputs):
        assert isinstance(_input, Parameter)
        assert _input.name == f"input{index}"
        assert _input.kind == _input.POSITIONAL_OR_KEYWORD
        assert _input.default == Parameter.empty
    default = [5, 7]
    for index, param in enumerate(params):
        assert isinstance(param, Parameter)
        assert param.name == f"param{index}"
        assert param.kind == param.POSITIONAL_OR_KEYWORD
        assert param.default == default[index]
    # Error
    MESSAGE = re.escape("Signature must not have *args or **kwargs")
    def func2(input0, input1, *args, param0=5, param1=7):
        pass
    def func3(input0, input1, param0=5, param1=7, **kwargs):
        pass
    with pytest.raises(ValueError, match=MESSAGE):
        get_inputs_and_params(func2)
    with pytest.raises(ValueError, match=MESSAGE):
        get_inputs_and_params(func3)