public void Should_copy_class() { var value = new MyClass1 { Value1 = 1, Value2 = 2, Cloneable = new Cloneable(4) }; var copy = value.Copy(); Assert.Equal(value.Value1, copy.Value1); Assert.Equal(value.Value2, copy.Value2); Assert.Equal(value.Cloneable.Value, copy.Cloneable.Value); Assert.NotSame(value.Cloneable, copy.Cloneable); }