public void TestMergeSimultaneous() { StreamSink <int> s = Stream.CreateSink <int>(); Stream <int> s2 = s.Map(x => 2 * x); List <int> @out = new List <int>(); IListener l = s.Merge(s2, (x, y) => x + y).Listen(@out.Add); s.Send(7); s.Send(9); l.Unlisten(); CollectionAssert.AreEqual(new[] { 21, 27 }, @out); }
public void TestMergeNonSimultaneous() { StreamSink <int> s1 = Stream.CreateSink <int>(); StreamSink <int> s2 = Stream.CreateSink <int>(); List <int> @out = new List <int>(); IListener l = s1.Merge(s2, (x, y) => x + y).Listen(@out.Add); s1.Send(7); s2.Send(9); s1.Send(8); l.Unlisten(); CollectionAssert.AreEqual(new[] { 7, 9, 8 }, @out); }
public void TestMergeSimultaneous() { StreamSink <int> s = new StreamSink <int>(); Stream <int> s2 = s.Map(x => 2 * x); List <int> @out = new List <int>(); using (s.Merge(s2, (x, y) => x + y).Listen(@out.Add)) { s.Send(7); s.Send(9); } CollectionAssert.AreEqual(new[] { 21, 27 }, @out); }
public void TestMergeNonSimultaneous() { StreamSink <int> s1 = new StreamSink <int>(); StreamSink <int> s2 = new StreamSink <int>(); List <int> @out = new List <int>(); using (s1.Merge(s2, (x, y) => x + y).Listen(@out.Add)) { s1.Send(7); s2.Send(9); s1.Send(8); } CollectionAssert.AreEqual(new[] { 7, 9, 8 }, @out); }
public void TestMergeSimultaneous() { StreamSink<int> s = new StreamSink<int>(); Stream<int> s2 = s.Map(x => 2 * x); List<int> @out = new List<int>(); using (s.Merge(s2, (x, y) => x + y).Listen(@out.Add)) { s.Send(7); s.Send(9); } CollectionAssert.AreEqual(new[] { 21, 27 }, @out); }
public void TestMergeNonSimultaneous() { StreamSink<int> s1 = new StreamSink<int>(); StreamSink<int> s2 = new StreamSink<int>(); List<int> @out = new List<int>(); using (s1.Merge(s2, (x, y) => x + y).Listen(@out.Add)) { s1.Send(7); s2.Send(9); s1.Send(8); } CollectionAssert.AreEqual(new[] { 7, 9, 8 }, @out); }