def test_union(): a = Stream() b = Stream() c = Stream() L = a.union(b, c).sink_to_list() a.emit(1) assert L == [1] b.emit(2) assert L == [1, 2] a.emit(3) assert L == [1, 2, 3] c.emit(4) assert L == [1, 2, 3, 4]
def test_multi_connect(): source0 = Stream() source1 = Stream() source_downstream = source0.union(source1) # connect assumes this default behaviour # of stream initialization assert not source_downstream.downstreams # 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]