示例#1
0
        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);
        }
示例#2
0
 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);
 }