def test_auto_save_analysis_result(self): """Test auto saving analysis result.""" exp_data = self._create_experiment_data() exp_data.auto_save = True aresult = AnalysisResult( value={}, name="qiskit_test", device_components=self.device_components, experiment_id=exp_data.experiment_id, ) with mock.patch.object( IBMExperimentService, "update_experiment", wraps=exp_data.service.update_experiment) as mocked_exp: with mock.patch.object( IBMExperimentService, "create_analysis_result", wraps=exp_data.service.create_analysis_result, ) as mocked_res: exp_data.add_analysis_results(aresult) mocked_exp.assert_called_once() mocked_res.assert_called_once() mocked_exp.reset_mock() with mock.patch.object( IBMExperimentService, "delete_analysis_result", wraps=exp_data.service.delete_analysis_result, ) as mocked_res, mock.patch("builtins.input", lambda _: "y"): exp_data.delete_analysis_result(aresult.result_id) mocked_res.assert_called_once() mocked_exp.assert_called_once()
def test_save_all(self): """Test saving all.""" exp_data = self._create_experiment_data() exp_data.tags = ["foo", "bar"] aresult = AnalysisResult( value={}, name="qiskit_test", device_components=self.device_components, experiment_id=exp_data.experiment_id, ) exp_data.add_analysis_results(aresult) hello_bytes = str.encode("hello world") exp_data.add_figures(hello_bytes, figure_names="hello.svg") exp_data.save() rexp = DbExperimentData.load(exp_data.experiment_id, self.experiment) self.assertEqual(["foo", "bar"], rexp.tags) self.assertEqual(aresult.result_id, rexp.analysis_results(0).result_id) self.assertEqual(hello_bytes, rexp.figure(0)) exp_data.delete_analysis_result(0) exp_data.delete_figure(0) with mock.patch("builtins.input", lambda _: "y"): exp_data.save() rexp = DbExperimentData.load(exp_data.experiment_id, self.experiment) self.assertRaises(IBMExperimentEntryNotFound, rexp.figure, "hello.svg") self.assertRaises(DbExperimentEntryNotFound, rexp.analysis_results, aresult.result_id)
def _create_analysis_result(self): """Create a simple analysis result.""" exp_data = self._create_experiment_data() aresult = AnalysisResult(value={}, name='qiskit_test', device_components=self.device_components, experiment_id=exp_data.experiment_id) exp_data.add_analysis_results(aresult) exp_data.save() return aresult, exp_data
def _create_analysis_result(self): """Create a simple analysis result.""" exp_data = self._create_experiment_data() aresult = AnalysisResult( value={}, name="qiskit_test", device_components=self.device_components, experiment_id=exp_data.experiment_id, ) exp_data.add_analysis_results(aresult) exp_data.save() self.results_to_delete.append(aresult.result_id) return aresult, exp_data
def test_add_analysis_results(self): """Test adding an analysis result.""" exp_data = self._create_experiment_data() result_data = {"complex": 2 + 3j, "numpy": np.zeros(2)} aresult = AnalysisResult(name='qiskit_test', value=result_data, device_components=self.device_components, experiment_id=exp_data.experiment_id, quality=ResultQuality.GOOD, verified=True, tags=["foo", "bar"], service=self.experiment) exp_data.add_analysis_results(aresult) exp_data.save() rresult = AnalysisResult.load(aresult.result_id, self.experiment) self.assertEqual(exp_data.experiment_id, rresult.experiment_id) self._verify_analysis_result(aresult, rresult)