def test_map_errors_log(): a = Stream(asynchronous=True) b = a.delay(0.001).map(lambda x: 1 / x) with captured_logger("rapidz") as logger: a._emit(0) yield gen.sleep(0.1) out = logger.getvalue() assert "ZeroDivisionError" in out
def test_accumulate_errors_log(): a = Stream(asynchronous=True) b = a.delay(0.001).accumulate(lambda x, y: x / y) with captured_logger("rapidz") as logger: a._emit(1) a._emit(0) yield gen.sleep(0.1) out = logger.getvalue() assert "ZeroDivisionError" in out
def test_delay(): source = Stream(asynchronous=True) L = source.delay(0.02).sink_to_list() for i in range(5): yield source.emit(i) assert not L yield gen.sleep(0.04) assert len(L) < 5 yield gen.sleep(0.1) assert len(L) == 5