def test_disconnect(): source = Stream() upstream = Stream() L = upstream.sink_to_list() source.emit(1) assert L == [] source.connect(upstream) source.emit(2) source.emit(3) assert L == [2, 3] source.disconnect(upstream) source.emit(4) assert L == [2, 3]
def test_connect(): source_downstream = Stream() # connect assumes this default behaviour # of stream initialization assert not source_downstream.downstreams assert source_downstream.upstreams == [None] # initialize the second stream to connect to source_upstream = Stream() sout = source_downstream.map(lambda x: x + 1) L = list() sout = sout.map(L.append) source_upstream.connect(source_downstream) source_upstream.emit(2) source_upstream.emit(4) assert L == [3, 5]