Esempio n. 1
0
        public void StartAndReplySendsAReply()
        {
            var handle = new AsyncEventHandle <Unit>();
            var ch     = new AsyncReplyChannel <Unit>(handle.Complete);
            Func <AsyncReplyChannel <Unit>, AsyncReplyChannel <Unit> > f = _ => ch;

            Async
            .Return(Unit.Default)
            .StartAndReply(f);
            handle.DoneEvent.WaitOne();
            Assert.AreEqual(Unit.Default, handle.Result());
        }
Esempio n. 2
0
        public void StartSwitchesToWorkerThread()
        {
            var handle = new AsyncEventHandle <Unit>();

            Async
            .Return(() =>
            {
                handle.DoneEvent.Set();
                return(Unit.Default);
            })
            .Then(Async.Sleep(50))
            .Start();
            handle.DoneEvent.WaitOne();
            Assert.True(true);
        }