public void RequestCallback_WithException()
        {
            var request = new Mock <WebRequest>();
            var stream  = new Mock <Stream>();
            var content = new byte[512];

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

            var result = new Mock <IAsyncResult>();

            result.ExpectGet(r => r.AsyncState).Returns(state);
            request.Expect(r => r.EndGetRequestStream(It.IsAny <IAsyncResult>())).Returns(stream.Object);
            stream.Expect(s => s.BeginWrite(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <AsyncCallback>(), It.IsAny <HttpForm.StateContainer>())).Throws <WebException>();

            HttpForm.RequestCallback(result.Object);
        }