public void ShouldNotAffectTheImmutable_WhenCheckFunctionTriesToAssign() { // Arrange var value = new ComplexTestClass(); var immutable = new Immutable <ComplexTestClass>(value); // Act var result = immutable.Check(i => { i.Name = "My Name"; return(true); }); // Assert immutable.Value("Name").As <string>().Should().BeNull(); }
public void ShouldReturnResultOfCheckFunction_WhenCalled(string name, bool expected) { // Arrange var value = new ComplexTestClass(); var immutable = new Immutable <ComplexTestClass>(value); // Act var result = immutable.Check(i => i.Things.Prop2 == name); // Assert result.Should().Be(expected); }