Ejemplo n.º 1
0
        public void CopyFrom_ReferencesProps_Clones()
        {
            var first = new ClassOfValues {
                BoolField = true, IntField = 123, LongField = 123456812312331231
            };
            var second = new ClassOfValues()
            {
                BoolProp = false, IntProp = 1, LongProp = 333
            };
            var nestedClass = new ClassOfReferences()
            {
                FirstObjectProp = first, SecondObjectProp = second
            };

            var newNestedClass = new ClassOfReferences().CopyFrom(nestedClass);

            Assert.True(newNestedClass.FirstObjectProp.BoolField);
            Assert.False(newNestedClass.SecondObjectProp.BoolField);

            Assert.Equal(123, newNestedClass.FirstObjectProp.IntField);
            Assert.Equal(1, newNestedClass.SecondObjectProp.IntProp);

            Assert.Equal(333, newNestedClass.SecondObjectProp.LongProp);
            Assert.Equal(123456812312331231, newNestedClass.FirstObjectProp.LongField);
        }
Ejemplo n.º 2
0
        public void CopyFrom_PrivateProp_Clones()
        {
            var classOfValues = new ClassOfValues();

            classOfValues.SetPrivateProp(4);

            var copy = new ClassOfValues().CopyFrom(classOfValues);

            Assert.Equal(4, copy.GetPrivateProp());
        }
Ejemplo n.º 3
0
        public void CopyFrom_PrivateValueField_Clones()
        {
            var classOfValues = new ClassOfValues()
            {
                PrivateFieldProp = 2
            };
            var copy = new ClassOfValues().CopyFrom(classOfValues);

            Assert.Equal(4, copy.PrivateFieldProp);
        }
Ejemplo n.º 4
0
        public void CopyFrom_ValueFields_Clones()
        {
            var valueClass = new ClassOfValues {
                BoolField = true, IntField = 123, LongField = 123456812312331231
            };

            var newValueClass = new ClassOfValues().CopyFrom(valueClass);

            Assert.True(newValueClass.BoolField);
            Assert.Equal(123, newValueClass.IntField);
            Assert.Equal(123456812312331231, newValueClass.LongField);
        }
Ejemplo n.º 5
0
        public void CopyFrom_ValueProps_Clones()
        {
            var valueClass = new ClassOfValues()
            {
                BoolProp = true, IntProp = 123, LongProp = 99999999999999999
            };
            var newValueClass = new ClassOfValues().CopyFrom(valueClass);

            Assert.True(newValueClass.BoolProp);
            Assert.Equal(123, newValueClass.IntProp);
            Assert.Equal(99999999999999999, newValueClass.LongProp);
        }
Ejemplo n.º 6
0
        public void CopyFrom_ReferenceValues_CanNotModifyOriginal()
        {
            var values = new ClassOfValues()
            {
                BoolProp = true, BoolField = false
            };
            var nested = new ClassOfReferences()
            {
                FirstObjectProp = values
            };
            var clone = new ClassOfReferences().CopyFrom(nested);

            nested.FirstObjectProp.BoolProp  = false;
            nested.FirstObjectProp.BoolField = true;

            Assert.True(clone.FirstObjectProp.BoolProp);
            Assert.False(clone.FirstObjectProp.BoolField);
        }