예제 #1
0
    def test_add_surface_to_cache(self, _init_pygame,
                                  _display_surface_return_none):
        cache = SurfaceCache()
        cache.add_surface_to_cache(pygame.Surface((64, 64)), 'doop')

        assert isinstance(cache.find_surface_in_cache('doop'), pygame.Surface)
        assert cache.find_surface_in_cache('doop').get_width() == 64
예제 #2
0
    def test_find_surface_in_cache(self, _init_pygame, _display_surface_return_none):
        cache = SurfaceCache()
        cache.add_surface_to_cache(pygame.Surface((64, 64)), 'doop')

        assert isinstance(cache.find_surface_in_cache('doop'), pygame.Surface)

        cache.update()
        assert isinstance(cache.find_surface_in_cache('doop'), pygame.Surface)

        assert cache.find_surface_in_cache('derp') is None
예제 #3
0
    def test_remove_user_from_cache_item(self, _init_pygame, _display_surface_return_none):
        cache = SurfaceCache()
        cache.add_surface_to_cache(pygame.Surface((64, 64)), 'doop')
        cache.update()

        assert cache.cache_long_term_lookup['doop']['current_uses'] == 1
        assert len(cache.consider_purging_list) == 0

        cache.remove_user_from_cache_item('doop')
        assert cache.cache_long_term_lookup['doop']['current_uses'] == 0
        assert len(cache.consider_purging_list) == 1
예제 #4
0
    def test_update(self, _init_pygame, _display_surface_return_none):
        cache = SurfaceCache()
        cache.add_surface_to_cache(pygame.Surface((64, 64)), 'doop')

        assert len(cache.cache_short_term_lookup) == 1
        assert len(cache.cache_long_term_lookup) == 0
        cache.update()
        assert len(cache.cache_short_term_lookup) == 0
        assert len(cache.cache_long_term_lookup) == 1

        cache.low_on_space = True
        cache.cache_long_term_lookup['doop']['current_uses'] = 0
        cache.consider_purging_list.append('doop')

        cache.update()
        assert len(cache.consider_purging_list) == 0
        assert len(cache.cache_long_term_lookup) == 0
        assert not cache.low_on_space