def METHOD_NAME(
    _ftf: FunctionalTestFile,
    _lint_module: LintModuleTest,
    _lint_module_output_update: LintModuleOutputUpdate,
    _new_path: Path,
) -> None:
    new_path_str = str(_new_path)
    if "wrong_test" in new_path_str:
        expected = r'Wrong message\(s\) raised for "exec_used.py"'
        with pytest.raises(AssertionError, match=expected):
            _lint_module.runTest()
        # When the tests are wrong we do not update the output at all
        # and the test should fail
        with pytest.raises(AssertionError, match=expected):
            _lint_module_output_update.runTest()
    elif "ok_test" in new_path_str:
        if any(f"{x}_output" in new_path_str for x in ("wrong", "no", "broken")):
            with pytest.raises(
                AssertionError, match='Wrong output for "exec_used.txt"'
            ):
                _lint_module.runTest()
        elif "ok_output" in new_path_str:
            _lint_module.runTest()
            _check_expected_output(_ftf)
        else:
            raise AssertionError(f"Unhandled test case: {new_path_str}")
        # When the tests are ok we update the output whatever it's state
        # was originally
        _lint_module_output_update.runTest()
        _check_expected_output(_ftf)
    else:
        raise AssertionError(
            f"Do not pollute '{FIXTURE_DIRECTORY}' with unrelated "
            f"or badly named test files."
        )