示例#1
0
    def test_fl_pos_invalid_time_manager_get_fl_pos_invalid_times_with_gap_at_end(
            self):
        gaps_margin = 0.0001
        mock_array = np.ndarray(dtype='float', shape=[
            10,
        ])
        array = [1, 2, 3, 4, 5, 6, 7, 8, 10, 12]
        for i, number in enumerate(array):
            mock_array[i] = number
        mock_series = MagicMock()
        mock_series.timestamps = mock_array
        mock_nwb = MagicMock(spec=NWBFile)
        mock_nwb.processing['behavior'].data_interfaces[
            'position'].spatial_series = {
                'series': mock_series
            }
        mock_metadata = {}

        fl_pos_invalid_time_manager = FlPosInvalidTimeManager(mock_metadata)
        fl_pos_invalid_times = fl_pos_invalid_time_manager.get_fl_pos_invalid_times(
            nwb_content=mock_nwb, gaps_margin=gaps_margin)

        self.assertEqual(len(fl_pos_invalid_times), 1)
        self.assertEqual(round(fl_pos_invalid_times[0].start_time, 4),
                         8 + gaps_margin)
        self.assertEqual(round(fl_pos_invalid_times[0].stop_time, 4),
                         12 - gaps_margin)
示例#2
0
    def test_fl_pos_invalid_time_manager_get_fl_pos_invalid_times_failed_due_to_None_param(
            self):
        gaps_margin = 0.0001
        mock_metadata = {}

        fl_pos_invalid_time_manager = FlPosInvalidTimeManager(mock_metadata)
        fl_pos_invalid_time_manager.get_fl_pos_invalid_times(
            nwb_content=None, gaps_margin=gaps_margin)
示例#3
0
    def test_fl_pos_invalid_time_manager_get_fl_pos_invalid_times_failed_due_to_lack_of_timestamps(
            self):
        gaps_margin = 0.0001
        mock_series = MagicMock()
        mock_nwb = MagicMock(spec=NWBFile)
        mock_nwb.processing['behavior'].data_interfaces[
            'position'].spatial_series = {
                'series': mock_series
            }
        mock_metadata = {}

        fl_pos_invalid_time_manager = FlPosInvalidTimeManager(mock_metadata)
        fl_pos_invalid_time_manager.get_fl_pos_invalid_times(
            nwb_content=mock_nwb, gaps_margin=gaps_margin)
示例#4
0
class PosInvalidTimeOriginator:
    def __init__(self, metadata):
        self.fl_pos_invalid_time_manager = FlPosInvalidTimeManager(metadata)
        self.pos_invalid_time_injector = PosInvalidTimeInjector()

    def make(self, nwb_content):
        logger.info('POS invalid times: Building')
        pos_invalid_times = self.fl_pos_invalid_time_manager.get_fl_pos_invalid_times(
            nwb_content)
        logger.info('POS invalid times: Injecting')
        self.pos_invalid_time_injector.inject_all(pos_invalid_times,
                                                  nwb_content)
示例#5
0
 def __init__(self, metadata):
     self.fl_pos_invalid_time_manager = FlPosInvalidTimeManager(metadata)
     self.pos_invalid_time_injector = PosInvalidTimeInjector()