def test_copy_metadata(self): """Test copy metadata.""" exp_data = DbExperimentData(experiment_type="qiskit_test") exp_data.add_data(self._get_job_result(1)) result = mock.MagicMock() exp_data.add_analysis_results(result) copied = exp_data.copy(copy_results=False) self.assertEqual(exp_data.data(), copied.data()) self.assertFalse(copied.analysis_results())
def test_str(self): """Test the string representation.""" exp_data = DbExperimentData(experiment_type="qiskit_test") exp_data.add_data(self._get_job_result(1)) result = mock.MagicMock() exp_data.add_analysis_results(result) exp_data_str = str(exp_data) self.assertIn(exp_data.experiment_type, exp_data_str) self.assertIn(exp_data.experiment_id, exp_data_str) self.assertIn(str(result), exp_data_str)
def test_add_get_analysis_results(self): """Test adding and getting a list of analysis results.""" exp_data = DbExperimentData(experiment_type="qiskit_test") results = [] for idx in range(5): res = mock.MagicMock() res.result_id = idx results.append(res) exp_data.add_analysis_results(results) self.assertEqual(results, exp_data.analysis_results())
def test_save(self): """Test saving all experiment related data.""" exp_data = DbExperimentData(backend=self.backend, experiment_type="qiskit_test") service = mock.create_autospec(DatabaseServiceV1, instance=True) exp_data.add_figures(str.encode("hello world")) analysis_result = mock.MagicMock() exp_data.add_analysis_results(analysis_result) exp_data.service = service exp_data.save() service.create_experiment.assert_called_once() service.create_figure.assert_called_once() analysis_result.save.assert_called_once()
def test_delete_analysis_result(self): """Test deleting analysis result.""" exp_data = DbExperimentData(experiment_type="qiskit_test") id_template = "result_{}" for idx in range(3): res = mock.MagicMock() res.result_id = id_template.format(idx) exp_data.add_analysis_results(res) subtests = [(0, id_template.format(0)), (id_template.format(2), id_template.format(2))] for del_key, res_id in subtests: with self.subTest(del_key=del_key): exp_data.delete_analysis_result(del_key) self.assertRaises(DbExperimentEntryNotFound, exp_data.analysis_results, res_id)