public void executer_post_should_be_throw_exception()
        {
            byte[] buffer = Encoding.UTF8.GetBytes("{ IsSuccess : true }");

            var mockHttpWebRequest = new Mock <HttpWebRequest>();

            mockHttpWebRequest.Setup(x => x.GetRequestStream()).Returns(new MemoryStream(buffer));

            var mockHttpWebResponse = new Mock <HttpWebResponse>();

            mockHttpWebResponse.Setup(x => x.GetResponseStream()).Returns(new MemoryStream(buffer));

            mockHttpWebRequest.Setup(x => x.GetResponse()).Throws(new Exception("bar"));

            IExecuter executer = new Executer(mockHttpWebRequest.Object, new JsonResponseHandler());

            var result = executer.Post <TestObject>(new { foo = "bar" });

            Assert.IsTrue(result.ErrorMessage == "bar");
        }
        public void executer_post_should_be_response_ok_enum()
        {
            byte[] buffer = Encoding.UTF8.GetBytes(TestEnum.Ok.ToString());

            var mockHttpWebRequest  = new Mock <HttpWebRequest>();
            var mockHttpWebResponse = new Mock <HttpWebResponse>();

            mockHttpWebResponse.Setup(x => x.GetResponseStream()).Returns(new MemoryStream(buffer));

            mockHttpWebRequest.Setup(x => x.GetResponse()).Returns(mockHttpWebResponse.Object);

            IExecuter executer = new Executer(mockHttpWebRequest.Object, new JsonResponseHandler());

            var result = executer.Post <TestEnum>(new { foo = "bar" });

            TestEnum expected = TestEnum.Ok;
            TestEnum actual   = result.Data;

            Assert.AreEqual(expected, actual);
        }
        public void executer_post_should_be_throw_exception_model_could_not_be_null()
        {
            IExecuter executer = new Executer(null, new JsonResponseHandler());

            var result = executer.Post <TestObject>(null);
        }