public void Clone_ObjectWithNullable() { var service = new CloneService(); var value = new WithNullables { MyInt = 10, MyBool = true, MyChar = 'c', MyDateTime = new DateTime(2000, 12, 12), MyGuid = new Guid("2cb3f7e5-47fb-456f-a234-9d8909f69b2c") }; var result = service.DeepClone(value); value.MyInt = 100; value.MyBool = false; value.MyChar = 'e'; value.MyDateTime = new DateTime(1900, 11, 11); value.MyGuid = Guid.NewGuid(); Assert.AreEqual(10, result.MyInt); Assert.AreEqual(true, result.MyBool); Assert.AreEqual('c', result.MyChar); Assert.AreEqual(new DateTime(2000, 12, 12), result.MyDateTime); Assert.AreEqual(new Guid("2cb3f7e5-47fb-456f-a234-9d8909f69b2c"), result.MyGuid); }
public void Clone_ObjectWithNullableNulls() { var service = new CloneService(); var value = new WithNullables { }; var result = service.DeepClone(value); value.MyInt = 100; value.MyBool = false; value.MyChar = 'e'; value.MyDateTime = new DateTime(1900, 11, 11); value.MyGuid = Guid.NewGuid(); Assert.AreEqual(null, result.MyInt); Assert.AreEqual(null, result.MyBool); Assert.AreEqual(null, result.MyChar); Assert.AreEqual(null, result.MyDateTime); Assert.AreEqual(null, result.MyGuid); }