Пример #1
0
 def test_run_has_correct_output(self):
     api = MockApiClient()
     with patch('sys.stdout', new_callable=io.StringIO) as std_mock:
         backend = QIBackend(quantum_inspire_api=api, verbose=2)
         backend.qasm = "_"
         backend._measured_ids = [0]
         backend.main_engine = MagicMock()
         backend.main_engine.mapper.current_mapping = [0, 1]
         backend._run()
         std_output = std_mock.getvalue()
         actual = backend._quantum_inspire_result
     api.execute_qasm.assert_called_once()
     self.assertEqual(api.execute_qasm(), actual)
     self.assertTrue(backend._clear)
Пример #2
0
 def test_run_raises_error_no_result(self):
     api = MockApiClient()
     with patch('sys.stdout', new_callable=io.StringIO):
         backend = QIBackend(quantum_inspire_api=api, verbose=2)
         backend.qasm = "_"
         backend._measured_ids = [0, 1]
         backend.main_engine = MagicMock()
         backend.main_engine.mapper.current_mapping = [0, 1]
         result_mock = MagicMock()
         result_mock.get.return_value = {}
         api.execute_qasm.return_value = result_mock
         self.assertRaisesRegex(ProjectQBackendError, 'raw_text',
                                backend._run)
     api.execute_qasm.assert_called_once()
Пример #3
0
 def test_get_probabilities_returns_correct_result(self):
     api = MockApiClient()
     backend = QIBackend(quantum_inspire_api=api)
     value_a = 0.4892578125
     value_b = 0.5097656250
     backend._measured_states = {
         0: value_a,
         11: value_b
     }  # 00000000 and 00001011
     expected = {'00': value_a, '11': value_b}
     backend.main_engine = MagicMock()
     backend._measured_ids = [0, 1]
     backend.main_engine.mapper.current_mapping = [0, 1]
     actual = backend.get_probabilities([MagicMock(id=0), MagicMock(id=1)])
     self.assertDictEqual(expected, actual)