Beispiel #1
0
        public void RemoveNestedProperty_FromDynamicObject()
        {
            // Arrange
            dynamic dynamicTestObject = new DynamicTestObject();

            dynamicTestObject.Test             = new DynamicTestObject();
            dynamicTestObject.Test.AnotherTest = "A";

            var patchDocument = new JsonPatchDocument();

            patchDocument.Remove("Test");

            // Act
            patchDocument.ApplyTo(dynamicTestObject);
            dynamicTestObject.TryGetValue("Test", out object valueFromDictionary);

            // Assert
            Assert.Null(valueFromDictionary);
        }
Beispiel #2
0
        public void MoveToNonExistingProperty_InDynamicObject_ShouldAddNewProperty()
        {
            // Arrange
            dynamic dynamicTestObject = new DynamicTestObject();

            dynamicTestObject.StringProperty = "A";

            var patchDocument = new JsonPatchDocument();

            patchDocument.Move("StringProperty", "AnotherStringProperty");

            // Act
            patchDocument.ApplyTo(dynamicTestObject);
            dynamicTestObject.TryGetValue("StringProperty", out object valueFromDictionary);

            // Assert
            Assert.Equal("A", dynamicTestObject.AnotherStringProperty);
            Assert.Null(valueFromDictionary);
        }
Beispiel #3
0
        public void MovePropertyValue_FromDynamicObject_ToTypedObject()
        {
            // Arrange
            dynamic dynamicTestObject = new DynamicTestObject();

            dynamicTestObject.StringProperty = "A";
            dynamicTestObject.SimpleObject   = new SimpleObject {
                AnotherStringProperty = "B"
            };

            var patchDocument = new JsonPatchDocument();

            patchDocument.Move("StringProperty", "SimpleObject/AnotherStringProperty");

            // Act
            patchDocument.ApplyTo(dynamicTestObject);
            dynamicTestObject.TryGetValue("StringProperty", out object valueFromDictionary);

            // Assert
            Assert.Equal("A", dynamicTestObject.SimpleObject.AnotherStringProperty);
            Assert.Null(valueFromDictionary);
        }