Exemplo n.º 1
0
 def is_native(op_or_op_list) -> bool:
     """True iff the op_list consists of native operations only."""
     if Adonis.is_native_operation(op_or_op_list):
         return True
     for op in op_or_op_list:
         if not Adonis.is_native_operation(op):
             raise TypeError(f'Non-native operation: {op}')
     return True
Exemplo n.º 2
0
def test_equality_method():
    adonis_1 = Adonis()
    adonis_2 = Adonis()
    apollo_1 = Apollo()
    apollo_2 = Apollo()
    valkmusa = Valkmusa()

    assert adonis_1 == adonis_2
    assert valkmusa != adonis_1
    assert apollo_1 == apollo_2
Exemplo n.º 3
0
def test_non_injective_qubit_mapping(base_url, settings_dict, qubit_mapping):
    qubit_mapping['q2 log.'] = 'QB1'

    with pytest.raises(
            ValueError,
            match='Multiple logical qubits map to the same physical qubit'):
        IQMSampler(base_url, Adonis(), json.dumps(settings_dict),
                   qubit_mapping)
Exemplo n.º 4
0
def test_qubits_not_in_settings(base_url, settings_dict, qubit_mapping):
    del settings_dict['subtrees']['QB1']
    with pytest.raises(
            ValueError,
            match=
            "The physical qubits {'QB1'} in the qubit mapping are not defined in the settings"
    ):
        IQMSampler(base_url, Adonis(), json.dumps(settings_dict),
                   qubit_mapping)
Exemplo n.º 5
0
def test_credentials_are_passed_to_client(settings_dict):
    user_auth_args = {
        'auth_server_url': 'https://fake.auth.server.com',
        'username': '******',
        'password': '******',
    }
    with when(IQMClient)._update_tokens():
        sampler = IQMSampler('http://url', Adonis(), json.dumps(settings_dict),
                             None, **user_auth_args)
    assert sampler._client._credentials.auth_server_url == user_auth_args[
        'auth_server_url']
    assert sampler._client._credentials.username == user_auth_args['username']
    assert sampler._client._credentials.password == user_auth_args['password']
Exemplo n.º 6
0
def adonis_sampler_without_settings(base_url):
    return IQMSampler(base_url, Adonis())
Exemplo n.º 7
0
def adonis_sampler(base_url, settings_dict, qubit_mapping):
    return IQMSampler(base_url, Adonis(), json.dumps(settings_dict),
                      qubit_mapping)
Exemplo n.º 8
0
def adonis():
    """Adonis device fixture."""
    return Adonis()