예제 #1
0
        public void WriteCallback_WithException()
        {
            var request = new Mock <WebRequest>();
            var stream  = new Mock <Stream>();

            var state = new HttpForm.StateContainer
            {
                Request        = request.Object,
                RequesteStream = stream.Object,
                OnComplete     = delegate { },
                OnError        = delegate { }
            };

            var result = new Mock <IAsyncResult>();

            result.ExpectGet(r => r.AsyncState).Returns(state);
            stream.Expect(s => s.EndWrite(It.IsAny <IAsyncResult>()));
            stream.Expect(s => s.Close());
            request.Expect(r => r.BeginGetResponse(It.IsAny <AsyncCallback>(), It.IsAny <HttpForm.StateContainer>())).Throws <WebException>();

            HttpForm.WriteCallback(result.Object);
        }