public void TestCollect() { var ea = new FirableEvent<int>(); var o = new List<int>(); var sum = ea.Collect((a, s) => new Tuple<int, int>(a + s, a + s), 100); var l = sum.Subscribe(o.Add); ea.Fire(5); ea.Fire(7); ea.Fire(1); ea.Fire(2); ea.Fire(3); l.Dispose(); AssertArraysEqual(Arrays<int>.AsList(105, 112, 113, 115, 118), o); }