Exemple #1
0
        public async Task MyTimeoutClass_FailedGet_PropagatesFailure()
        {
            var stub = new FailureHttpServiceStub();
            var my   = new MyTimeOutClass(stub);

            await ThrowsExceptionAsync <HttpRequestException>(async() =>
            {
                await my.GetStringWithTimeout("http://www.example.com/").SingleAsync();
            });
        }
Exemple #2
0
        public async Task MyTimeoutClass_SuccessfulGet_ReturnsResult()
        {
            var stub   = new SuccessHttpServiceStub();
            var my     = new MyTimeOutClass(stub);
            var result = await my.GetStringWithTimeout("http://www.example.com/").SingleAsync();

            var result2 = await Observable.Return("stub").Timeout(TimeSpan.FromSeconds(1)).SingleAsync();//同上封装后的代码

            Assert.AreEqual("stub", result);
        }
Exemple #3
0
        public void MyTimeoutClass_SuccessfulGetShortDelay_ReturnsResult()
        {
            var scheduler = new TestScheduler();
            var stub      = new SuccessHttpServiceStub2()
            {
                Scheduler = scheduler, Delay = TimeSpan.FromSeconds(0.5)
            };
            var    my     = new MyTimeOutClass(stub);
            string result = null;

            my.GetStringWithTimeout("http://www.example.com/", scheduler).Subscribe(r => { result = r; });
            scheduler.Start();
            Assert.AreEqual("stub", result);
        }