Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }