public void ResponseCallback_WithException()
        {
            var request = new Mock <WebRequest>();

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

            var result = new Mock <IAsyncResult>();

            result.ExpectGet(r => r.AsyncState).Returns(state);
            request.Expect(r => r.GetResponse()).Throws <WebException>();

            HttpForm.ResponseCallback(result.Object);
        }
        public void ResponseCallback()
        {
            var request = new Mock <WebRequest>();

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

            var result = new Mock <IAsyncResult>();

            result.ExpectGet(r => r.AsyncState).Returns(state);

            var ms       = new MemoryStream(Encoding.Default.GetBytes("This is a dummy response"));
            var response = new Mock <WebResponse>();

            response.Expect(r => r.GetResponseStream()).Returns(ms);

            request.Expect(r => r.EndGetResponse(It.IsAny <IAsyncResult>())).Returns(response.Object);

            HttpForm.ResponseCallback(result.Object);
        }