def METHOD_NAME(self, source, frames):
    # load ZIP with images named: 000.png, 001.png, ...
    from kivy.uix.image import AsyncImage
    event = Event()
    image = AsyncImage(anim_delay=0.0333333333333333)
    # bind to 'on_load' because there are various
    # steps where the image is (re)loaded, but
    # the event is triggered only at the end
    image.bind(on_load=lambda *args, **kwargs: event.set())
    image.source = source
    self.wait_for_event_or_timeout(event)
    self.render(image)
    proxyimg = image._coreimage
    self.assertTrue(proxyimg.anim_available)
    self.assertEqual(len(proxyimg.image.textures), frames)
    return image