public void TestAccum() { StreamSink<int> sa = new StreamSink<int>(); List<int> @out = new List<int>(); Cell<int> sum = sa.Accum(100, (a, s) => a + s); using (sum.Listen(@out.Add)) { sa.Send(5); sa.Send(7); sa.Send(1); sa.Send(2); sa.Send(3); } CollectionAssert.AreEqual(new[] { 100, 105, 112, 113, 115, 118 }, @out); }
public void TestAccum() { StreamSink <int> sa = Stream.CreateSink <int>(); List <int> @out = new List <int>(); Cell <int> sum = sa.Accum(100, (a, s) => a + s); IListener l = sum.Listen(@out.Add); sa.Send(5); sa.Send(7); sa.Send(1); sa.Send(2); sa.Send(3); l.Unlisten(); CollectionAssert.AreEqual(new[] { 100, 105, 112, 113, 115, 118 }, @out); }
public void TestAccum() { StreamSink <int> sa = new StreamSink <int>(); List <int> @out = new List <int>(); Cell <int> sum = sa.Accum(100, (a, s) => a + s); using (sum.Listen(@out.Add)) { sa.Send(5); sa.Send(7); sa.Send(1); sa.Send(2); sa.Send(3); } CollectionAssert.AreEqual(new[] { 100, 105, 112, 113, 115, 118 }, @out); }