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