예제 #1
0
        public void CopyFrom_ArrayOfValues_Clones()
        {
            var classOfLists = new ClassOfLists()
            {
                ArrayOfValues = new[] { 1, 2, 3 }
            };

            var copy = new ClassOfLists().CopyFrom(classOfLists);

            Assert.Equal(1, copy.ArrayOfValues[0]);
            Assert.Equal(2, copy.ArrayOfValues[1]);
            Assert.Equal(3, copy.ArrayOfValues[2]);
        }
예제 #2
0
        public void CopyFrom_ListOfValues_Clones()
        {
            var classOfLists = new ClassOfLists()
            {
                ListOfValues = new List <int>()
                {
                    1, 2, 3
                }
            };
            var copy = new ClassOfLists().CopyFrom(classOfLists);

            Assert.Equal(1, copy.ListOfValues[0]);
            Assert.Equal(2, copy.ListOfValues[1]);
            Assert.Equal(3, copy.ListOfValues[2]);
        }
예제 #3
0
        public void CopyFrom_ArrayOfReferences_CanNotModifyOriginal()
        {
            var classOfLists = new ClassOfLists()
            {
                ArrayOfReferenceses = new[]
                { new ClassOfReferences()
                  {
                      FirstObjectProp = new ClassOfValues()
                      {
                          IntProp = 100
                      }
                  } }
            };
            var copy = new ClassOfLists().CopyFrom(classOfLists);

            classOfLists.ArrayOfReferenceses[0].FirstObjectProp.IntProp = 123;

            Assert.Equal(100, copy.ArrayOfReferenceses[0].FirstObjectProp.IntProp);
        }
예제 #4
0
        public void CopyFrom_ListOfReferences_Clones()
        {
            var classOfLists = new ClassOfLists()
            {
                ListOfReferenceses = new List <ClassOfReferences>()
                {
                    new ClassOfReferences()
                    {
                        FirstObjectProp = new ClassOfValues()
                        {
                            IntProp = 123
                        }
                    }
                }
            };

            var copy = new ClassOfLists().CopyFrom(classOfLists);

            Assert.Equal(123, copy.ListOfReferenceses[0].FirstObjectProp.IntProp);
        }