def test_opt_params_bad(num_reads, max_answers, answer_mode): with pytest.raises(sapience.UserError): sapience.optimization_params( { 'num_reads': num_reads, 'max_answers': max_answers, 'answer_mode': answer_mode }, [], [])
def test_opt_defaults(): params = sapience.optimization_params({}, [], []) assert len(params) == 7 assert params['num_vars'] == sapience.C4_NUMQUBITS assert not params['active_vars'] assert not params['active_var_pairs'] assert not params['var_order'] assert params['num_reads'] == 1 assert params['answer_histogram'] == True assert params['max_answers'] == 1
def test_opt_params_good(num_reads, max_answers, answer_mode): user_params = {} if num_reads is not None: user_params['num_reads'] = num_reads if max_answers is not None: user_params['max_answers'] = max_answers if answer_mode is not None: user_params['answer_mode'] = answer_mode params = sapience.optimization_params(user_params, [], []) assert len(params) == 7 assert params['num_vars'] == sapience.C4_NUMQUBITS assert not params['active_vars'] assert not params['active_var_pairs'] assert not params['var_order'] assert params['num_reads'] == int( num_reads) if num_reads is not None else 1 assert params['answer_histogram'] == (answer_mode != 'raw') assert params['max_answers'] == int( max_answers) if max_answers is not None else params['num_reads']
def test_opt_params_badname(): with pytest.raises(sapience.UserError): sapience.optimization_params({'_nope': 123}, [], [])
def test_opt_ignoreparams(): sapience.optimization_params(dict.fromkeys(sapience.IGNORE_PARAMS), [], [])