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); }