def testGetDataReturnObject(self): """Make sure correct data object type is returned""" from pyfusion.acquisition.FakeData.acq import FakeDataAcquisition from pyfusion import conf # make sure the requested data type is returned using config reference test_acq = FakeDataAcquisition('test_fakedata') from pyfusion.data.timeseries import TimeseriesData data_instance_1 = test_acq.getdata(self.shot_number, timeseries_test_channel_1) self.assertTrue(isinstance(data_instance_1, TimeseriesData)) # ...and for kwargs # read config as dict and pass as kwargs config_dict = conf.utils.get_config_as_dict('Diagnostic', timeseries_test_channel_1) data_instance_2 = test_acq.getdata(self.shot_number, **config_dict) self.assertTrue(isinstance(data_instance_2, TimeseriesData)) # check that the two signals are the same from numpy.testing import assert_array_almost_equal assert_array_almost_equal(data_instance_1.signal, data_instance_2.signal) assert_array_almost_equal(data_instance_1.timebase, data_instance_2.timebase)
def test_multichannel_single_channels(self): from pyfusion.acquisition.FakeData.acq import FakeDataAcquisition from pyfusion import config test_acq = FakeDataAcquisition('test_fakedata') multichannel_data = test_acq.getdata(self.shot_number, multichannel_name) channel_1_data = test_acq.getdata(self.shot_number, timeseries_test_channel_1) channel_2_data = test_acq.getdata(self.shot_number, timeseries_test_channel_2) from numpy.testing import assert_array_almost_equal assert_array_almost_equal(multichannel_data.signal[0, :], channel_1_data.signal) assert_array_almost_equal(multichannel_data.signal[1, :], channel_2_data.signal) self.assertEqual(channel_1_data.meta.get('shot'), self.shot_number) assert_array_almost_equal(multichannel_data.signal.get_channel(0), channel_1_data.signal)