public void It_ShouldReturnAnObjectIdentical() { var objToClone = new Obj1 { S = "some string", D = DateTime.Now, O = new Obj2 { I = 4, B = true } }; Obj1 result = objToClone.Clone(); result.Should().BeEquivalentTo(objToClone); }
public void It_ShouldProduceAnImmutableObject() { var objToClone = new Obj1 { S = "some string", D = DateTime.Now, O = new Obj2 { I = 4, B = true } }; Obj1 result = objToClone.Clone(); objToClone.O.I = 5; result.Should().NotBeEquivalentTo(objToClone); }
public async Task It_ShouldReturnAnObjectIdenticalFromTask() { Task <Obj1> objToClone = Task.FromResult( new Obj1 { S = "some string", D = DateTime.Now, O = new Obj2 { I = 4, B = true } } ); Obj1 result = await objToClone.CloneAsync(); result.Should().BeEquivalentTo(await objToClone); }