public void TestValues() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); var l = b.Value().Listen(x => @out.Add(x)); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9, 2, 7 }, @out); }
public void TestValuesThenMap() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); Listener l = b.Value().Map<int>(x => x + 100).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 109, 102, 107 }, @out); }
public void TestValuesThenCoalesce() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); Listener l = b.Value().Coalesce((fst, snd) => snd).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9, 2, 7 }, @out); }
public void TestValuesThenMap() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); Listener l = b.Value().Map <int>(x => x + 100).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 109, 102, 107 }, @out); }
public void TestValuesThenFilter() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); Listener l = b.Value().Filter(a => true).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9, 2, 7 }, @out); }
public void TestValues() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); var l = b.Value().Listen(x => @out.Add(x)); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9, 2, 7 }, @out); }
public void TestValuesTwiceThenOnce() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); Listener l = DoubleUp(b.Value()).Once().Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9 }, @out); }
public void TestValuesTwiceThenCoalesce() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); Listener l = DoubleUp(b.Value()).Coalesce((fst, snd) => fst + snd).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 18, 4, 14 }, @out); }
public void TestValuesLateListen() { var b = new BehaviorSink <int>(9); var @out = new List <int>(); Event <int> value = b.Value(); b.Send(8); Listener l = value.Listen(x => { @out.Add(x); }); b.Send(2); l.Unlisten(); CollectionAssert.AreEqual(new[] { 8, 2 }, @out); }
public void TestValuesThenMerge() { var bi = new BehaviorSink <int>(9); var bj = new BehaviorSink <int>(2); var @out = new List <int>(); Listener l = Event <int> .MergeWith((x, y) => x + y, bi.Value(), bj.Value()) .Listen(x => { @out.Add(x); }); bi.Send(1); bj.Send(4); l.Unlisten(); CollectionAssert.AreEqual(new[] { 11, 1, 4 }, @out); }
public void TestValuesTwiceThenSnapshot() { var bi = new BehaviorSink <int>(9); var bc = new BehaviorSink <char>('a'); var @out = new List <char>(); Listener l = DoubleUp(bi.Value()).Snapshot(bc).Listen(x => { @out.Add(x); }); bc.Send('b'); bi.Send(2); bc.Send('c'); bi.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 'a', 'a', 'b', 'b', 'c', 'c' }, @out); }
public void TestValuesThenCoalesce() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); Listener l = b.Value().Coalesce((fst, snd) => snd).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9, 2, 7 }, @out); }
public void TestValuesTwiceThenCoalesce() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); Listener l = DoubleUp(b.Value()).Coalesce((fst, snd) => fst + snd).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 18, 4, 14 }, @out); }
public void TestValuesTwiceThenSnapshot() { var bi = new BehaviorSink<int>(9); var bc = new BehaviorSink<char>('a'); var @out = new List<char>(); Listener l = DoubleUp(bi.Value()).Snapshot(bc).Listen(x => { @out.Add(x); }); bc.Send('b'); bi.Send(2); bc.Send('c'); bi.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 'a', 'a', 'b', 'b', 'c', 'c' }, @out); }
public void TestValuesThenMerge() { var bi = new BehaviorSink<int>(9); var bj = new BehaviorSink<int>(2); var @out = new List<int>(); Listener l = Event<int>.MergeWith((x, y) => x + y, bi.Value(), bj.Value()) .Listen(x => { @out.Add(x); }); bi.Send(1); bj.Send(4); l.Unlisten(); CollectionAssert.AreEqual(new[] { 11, 1, 4 }, @out); }
public void TestValuesLateListen() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); Event<int> value = b.Value(); b.Send(8); Listener l = value.Listen(x => { @out.Add(x); }); b.Send(2); l.Unlisten(); CollectionAssert.AreEqual(new[] { 8, 2 }, @out); }
public void TestValuesTwiceThenOnce() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); Listener l = DoubleUp(b.Value()).Once().Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9 }, @out); }
public void TestValuesThenFilter() { var b = new BehaviorSink<int>(9); var @out = new List<int>(); Listener l = b.Value().Filter(a => true).Listen(x => { @out.Add(x); }); b.Send(2); b.Send(7); l.Unlisten(); CollectionAssert.AreEqual(new[] { 9, 2, 7 }, @out); }