def METHOD_NAME(monkeypatch, fsim_options, x0_should_be):
    def _minimize_patch_2(*args, **kwargs):
        return _minimize_patch(*args, **kwargs, x0_should_be=x0_should_be)
    monkeypatch.setattr('scipy.optimize.minimize', _minimize_patch_2)
    monkeypatch.setattr(
        'cirq_google.calibration.xeb_wrapper.xebf.benchmark_2q_xeb_fidelities', _benchmark_patch
    )
    qubit_indices = [(0, 5), (0, 6), (1, 6), (2, 6)]
    qubits = [cirq.GridQubit(*idx) for idx in qubit_indices]
    sampler = cirq.ZerosSampler()
    circuits = [
        random_rotations_between_grid_interaction_layers_circuit(
            qubits,
            depth=depth,
            two_qubit_op_factory=lambda a, b, _: (cirq.SQRT_ISWAP_INV.on(a, b)),
            pattern=cirq.experiments.GRID_ALIGNED_PATTERN,
            seed=10,
        )
        for depth in [5, 10]
    ]
    options = LocalXEBPhasedFSimCalibrationOptions(fsim_options=fsim_options, n_processes=1)
    characterization_requests = []
    for circuit in circuits:
        _, characterization_requests = cg.prepare_characterization_for_moments(
            circuit, options=options, initial=characterization_requests
        )
    assert len(characterization_requests) == 2
    for cr in characterization_requests:
        assert isinstance(cr, LocalXEBPhasedFSimCalibrationRequest)
    characterizations = [
        run_local_xeb_calibration(request, sampler) for request in characterization_requests
    ]
    final_params = dict()
    for c in characterizations:
        final_params.update(c.parameters)
    assert len(final_params) == 3  # pairs