public void SetPropertyValue_Nested_NullInChain() { // Arrange var componentUnderTest = new RecursivePoco { MyString = "x", Child = new RecursivePoco { Child = new RecursivePoco() } }; // Act componentUnderTest.SetPropertyValue(o => o.Child.Child.Child.MyString, "changed"); }
public void SetPropertyValue_TopLevel_WithValue() { // Arrange var componentUnderTest = new RecursivePoco { MyString = "x" }; var expected = new RecursivePoco { MyString = "a" }; // Act componentUnderTest.SetPropertyValue(o => o.MyString, "a"); // Assert componentUnderTest.ShouldHaveSameValueAs(expected); }
public void SetPropertyValue_Nested_WithValue() { // Arrange var componentUnderTest = new RecursivePoco { MyString = "x", Child = new RecursivePoco { Child = new RecursivePoco { Child = new RecursivePoco { MyString = "original" } } } }; var expected = new RecursivePoco { MyString = "x", Child = new RecursivePoco { Child = new RecursivePoco { Child = new RecursivePoco { MyString = "changed" } } } }; // Act componentUnderTest.SetPropertyValue(o => o.Child.Child.Child.MyString, "changed"); // Assert componentUnderTest.ShouldHaveSameValueAs(expected); }