async def METHOD_NAME(
    self,
    condition: Callable[[_R], bool],
    timeout: float = REACTPY_TESTING_DEFAULT_TIMEOUT.current,
    delay: float = _DEFAULT_POLL_DELAY,
    description: str = "condition to be true",
) -> None:
    """Check that the coroutines result meets a condition within the timeout"""
    started_at = time.time()
    while True:
        await asyncio.sleep(delay)
        result = await self._func(*self._args, **self._kwargs)
        if condition(result):
            break
        elif (time.time() - started_at) > timeout:  # nocov
            msg = f"Expected {description} after {timeout} seconds - last value was {result!r}"
            raise TimeoutError(msg)