コード例 #1
0
ファイル: EventTester.cs プロジェクト: jerometerry/potassium
 public void TestCoalesce()
 {
     var e1 = new FirableEvent<int>();
     var e2 = new FirableEvent<int>();
     var o = new List<int>();
     var evt2 = e1.Map(x => x * 100);
     var evt = evt2 | e2;
     var l = e1.Merge(evt)
               .Coalesce((a, b) => a + b)
               .Subscribe(o.Add);
     e1.Fire(2);
     e1.Fire(8);
     e2.Fire(40);
     l.Dispose();
     AssertArraysEqual(Arrays<int>.AsList(202, 808, 40), o);
 }
コード例 #2
0
ファイル: EventTester.cs プロジェクト: jerometerry/potassium
 public void TestMergeSimultaneous()
 {
     var e = new FirableEvent<int>();
     var o = new List<int>();
     var l = e.Merge(e).Subscribe(o.Add);
     e.Fire(7);
     e.Fire(9);
     l.Dispose();
     AssertArraysEqual(Arrays<int>.AsList(7, 7, 9, 9), o);
 }
コード例 #3
0
ファイル: EventTester.cs プロジェクト: jerometerry/potassium
 public void TestMergeNonSimultaneous()
 {
     var e1 = new FirableEvent<int>();
     var e2 = new FirableEvent<int>();
     var o = new List<int>();
     var l = e1.Merge(e2).Subscribe(o.Add);
     e1.Fire(7);
     e2.Fire(9);
     e1.Fire(8);
     l.Dispose();
     AssertArraysEqual(Arrays<int>.AsList(7, 9, 8), o);
 }