public void TestGate() { var ec = new EventSink <char?>(); var epred = new BehaviorSink <Boolean>(true); var @out = new List <char?>(); Listener l = ec.Gate(epred).Listen(x => { @out.Add(x); }); ec.Send('H'); epred.Send(false); ec.Send('O'); epred.Send(true); ec.Send('I'); l.Unlisten(); CollectionAssert.AreEqual(new[] { 'H', 'I' }, @out); }
public void TestGate() { var ec = new EventSink<char?>(); var epred = new BehaviorSink<Boolean>(true); var @out = new List<char?>(); Listener l = ec.Gate(epred).Listen(x => { @out.Add(x); }); ec.Send('H'); epred.Send(false); ec.Send('O'); epred.Send(true); ec.Send('I'); l.Unlisten(); CollectionAssert.AreEqual(new[] { 'H', 'I' }, @out); }