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)
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)
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)
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)
def __init__(self, metadata): self.fl_pos_invalid_time_manager = FlPosInvalidTimeManager(metadata) self.pos_invalid_time_injector = PosInvalidTimeInjector()