public void GetValueProvider_With_Xml()
        {
            //Arrange
            var request = MockRepository.GenerateMock<HttpRequestBase>();
            request.Expect(x => x.ContentType).Return("text/xml");
            request.Expect(x => x.InputStream).Return(new MemoryStream(Encoding.Default.GetBytes("<root><hurry>squee</hurry></root>")));
            var httpContext = MockRepository.GenerateMock<HttpContextBase>();
            httpContext.Expect(x => x.Request).Return(request);
            var context = new ControllerContext(httpContext, new RouteData(), new TestController());

            //Act
            var valueProvider = new XmlValueProviderFactory().GetValueProvider(context);

            //Assert
            Assert.AreEqual("squee", valueProvider.GetValue("hurry").RawValue);
        }
        public void GetValueProvider_With_No_Xml_Data()
        {
            //Arrange
            var request = MockRepository.GenerateMock<HttpRequestBase>();
            request.Expect(x => x.ContentType).Return("text/html");
            var httpContext = MockRepository.GenerateMock<HttpContextBase>();
            httpContext.Expect(x => x.Request).Return(request);
            var context = new ControllerContext(httpContext, new RouteData(), new TestController());

            //Act
            var valueProvider = new XmlValueProviderFactory().GetValueProvider(context);

            //Assert
            Assert.IsNull(valueProvider);
        }