Ejemplo n.º 1
0
            public void Child_Level_Changes_Are_Applied_Correctly()
            {
                var model = new _ComplexModel()
                {
                    Id        = 1,
                    FirstName = "John",
                    LastName  = "Smith",
                    Child     = new _SimpleModel()
                    {
                        Id = 2, Value = "Original", Count = 3
                    }
                };

                var json  = JObject.Parse("{ 'LastName': 'Doe', 'Child': { 'Value': 'Updated', 'Count': 5 } }");
                var delta = new TypedGraphDelta(typeof(_ComplexModel), json);

                delta.Patch(model);

                Assert.Equal(1, model.Id);
                Assert.Equal("John", model.FirstName);
                Assert.Equal("Doe", model.LastName);
                Assert.NotNull(model.Child);
                Assert.Equal(2, model.Child.Id);
                Assert.Equal("Updated", model.Child.Value);
                Assert.Equal(5, model.Child.Count);
            }
Ejemplo n.º 2
0
            public void Child_Models_Are_Unset_Correctly()
            {
                var model = new _ComplexModel()
                {
                    Child = new _SimpleModel()
                };
                var json  = JObject.Parse("{ 'Child': null }");
                var delta = new TypedGraphDelta(typeof(_ComplexModel), json);

                delta.Patch(model);

                Assert.Null(model.Child);
            }
Ejemplo n.º 3
0
            public void Child_Models_Are_Created_If_Null()
            {
                var model = new _ComplexModel()
                {
                    Id = 1, FirstName = "John", LastName = "Smith"
                };
                var json  = JObject.Parse("{ 'LastName': 'Doe', 'Child': { 'Value': 'Updated', 'Count': 5 } }");
                var delta = new TypedGraphDelta(typeof(_ComplexModel), json);

                delta.Patch(model);

                Assert.Equal(1, model.Id);
                Assert.Equal("John", model.FirstName);
                Assert.Equal("Doe", model.LastName);
                Assert.NotNull(model.Child);
                Assert.Equal(0, model.Child.Id);
                Assert.Equal("Updated", model.Child.Value);
                Assert.Equal(5, model.Child.Count);
            }