public void deserializes_the_json_and_uses_the_property_binders()
        {
            var recorder = new Recorder();

            var now  = DateTime.Today;
            var time = MockRepository.GenerateStub <ISystemTime>();

            time.Stub(x => x.UtcNow()).Return(now);

            using (var server = new IntegrationJsonBindingRegistry(recorder, time).ToRuntime())
            {
                server.Scenario(_ =>
                {
                    _.Post.Input <IntegratedJsonBindingTarget>().ContentType("application/json");
                    _.Request.Body.JsonInputIs(
                        "{Name:'Josh',Child:{ChildName:'Joel'},DynamicData:{test:{name:'nested'}}}");

                    _.StatusCodeShouldBeOk();
                });


                Recorder.Target.Name.ShouldBe("Josh");
                Recorder.Target.Child.ChildName.ShouldBe("Joel");
                Recorder.Target.Child.CurrentTime.ShouldBe(now);

                var child = Recorder.Target.DynamicData.Value <JObject>("test");
                child["name"].ToString().ShouldBe("nested");
            }
        }
        public void deserializes_the_json_and_uses_the_property_binders()
        {
            var recorder = new Recorder();

            var now = DateTime.Today;
            var time = MockRepository.GenerateStub<ISystemTime>();
            time.Stub(x => x.UtcNow()).Return(now);

            using (var server = new IntegrationJsonBindingRegistry(recorder, time).ToRuntime())
            {
                server.Scenario(_ =>
                {
                    _.Post.Input<IntegratedJsonBindingTarget>().ContentType("application/json");
                    _.Request.Body.JsonInputIs(
                        "{Name:'Josh',Child:{ChildName:'Joel'},DynamicData:{test:{name:'nested'}}}");

                    _.StatusCodeShouldBeOk();
                });

                Recorder.Target.Name.ShouldBe("Josh");
                Recorder.Target.Child.ChildName.ShouldBe("Joel");
                Recorder.Target.Child.CurrentTime.ShouldBe(now);

                var child = Recorder.Target.DynamicData.Value<JObject>("test");
                child["name"].ToString().ShouldBe("nested");
            }
        }