async def test_loading_previous_view_entities_loads_from_first_in_previous_deque( self): preloader = Preloader() preloader.identifier_data_frame = pd.DataFrame( {'light_curve_path': ['a.fits', 'b.fits', 'c.fits', 'd.fits']}) stub_view_entity_dictionary = { 'a.fits': Mock(index=0), 'b.fits': Mock(index=1), 'c.fits': Mock(index=2), 'd.fits': Mock(index=3) } def load_view_entity_side_effect(identifier_row): return stub_view_entity_dictionary[ identifier_row['light_curve_path']] preloader.previous_view_entity_deque = deque([Mock(index=2)]) with patch.object( module.ViewEntity, 'from_identifier_data_frame_row') as stub_view_entity_factory: stub_view_entity_factory.side_effect = load_view_entity_side_effect await preloader.load_previous_view_entities() assert len(preloader.previous_view_entity_deque) == 3 assert preloader.previous_view_entity_deque[0].index == 0 assert preloader.previous_view_entity_deque[1].index == 1
async def test_decrementing_calls_refresh_of_surrounding_light_curve_loading( self): preloader = Preloader() preloader.next_view_entity_deque = MagicMock() preloader.previous_view_entity_deque = MagicMock() preloader.current_view_entity = Mock() mock_refresh_surrounding_light_curve_loading = AsyncMock() preloader.refresh_surrounding_light_curve_loading = mock_refresh_surrounding_light_curve_loading _ = await preloader.decrement() assert mock_refresh_surrounding_light_curve_loading.called
async def test_decrementing_preloader_shifts_light_curve_deques(self): preloader = Preloader() preloader.current_view_entity = Mock(index=1) preloader.previous_view_entity_deque = deque([Mock(index=0)]) preloader.next_view_entity_deque = deque([Mock(index=2)]) preloader.refresh_surrounding_light_curve_loading = AsyncMock() new_current = await preloader.decrement() assert new_current.index == 0 assert len(preloader.next_view_entity_deque) == 2 assert preloader.next_view_entity_deque[0].index == 1 assert len(preloader.previous_view_entity_deque) == 0