public void ShallowCloneToMultidimentionalStructArray() { var source1 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "John", LastName = "Doe" } }; var source2 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "Jane", LastName = "Smith" } }; var source = new[, ] { { source1, source2 } }; var dest = new CloneTestStructWithClonableClassField[1, 2]; var clone = source.ShallowCloneTo(dest); Assert.IsTrue(ReferenceEquals(clone[0, 0].TestClass, source1.TestClass)); Assert.IsTrue(ReferenceEquals(clone[0, 1].TestClass, source2.TestClass)); }
public void ShallowCloneToWillAValueType() { var testClass = new CloneTestClass { FirstName = "John", LastName = "Doe" }; var source = new CloneTestStructWithClonableClassField { TestClass = testClass }; var dest = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass() }; var clone = source.ShallowCloneTo(dest); Assert.IsTrue(ReferenceEquals(testClass, clone.TestClass)); }
public void CloneToMultidimentionalStructArray() { var dest1 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass() }; var dest2 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass() }; var source = new[, ] { { new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "John", LastName = "Doe" } }, new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "Jane", LastName = "Smith" } } } }; var dest = new[, ] { { dest1, dest2 } }; var clone = source.CloneTo(dest); Assert.IsTrue(ReferenceEquals(clone[0, 0].TestClass, dest1.TestClass)); Assert.IsTrue(ReferenceEquals(clone[0, 1].TestClass, dest2.TestClass)); Assert.AreEqual("John", clone[0, 0].TestClass.FirstName); Assert.AreEqual("Doe", clone[0, 0].TestClass.LastName); Assert.AreEqual("Jane", clone[0, 1].TestClass.FirstName); Assert.AreEqual("Smith", clone[0, 1].TestClass.LastName); }
public void ShallowCloneToMultidimentionalStructArray() { var source1 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "John", LastName = "Doe" } }; var source2 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "Jane", LastName = "Smith" } }; var source = new[,] { { source1, source2 } }; var dest = new CloneTestStructWithClonableClassField[1, 2]; var clone = source.ShallowCloneTo(dest); Assert.IsTrue(ReferenceEquals(clone[0, 0].TestClass, source1.TestClass)); Assert.IsTrue(ReferenceEquals(clone[0, 1].TestClass, source2.TestClass)); }
public void CloneToMultidimentionalStructArray() { var dest1 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass() }; var dest2 = new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass() }; var source = new[,] { { new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "John", LastName = "Doe" } }, new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "Jane", LastName = "Smith" } } } }; var dest = new[,] { { dest1, dest2 } }; var clone = source.CloneTo(dest); Assert.IsTrue(ReferenceEquals(clone[0, 0].TestClass, dest1.TestClass)); Assert.IsTrue(ReferenceEquals(clone[0, 1].TestClass, dest2.TestClass)); Assert.AreEqual("John", clone[0, 0].TestClass.FirstName); Assert.AreEqual("Doe", clone[0, 0].TestClass.LastName); Assert.AreEqual("Jane", clone[0, 1].TestClass.FirstName); Assert.AreEqual("Smith", clone[0, 1].TestClass.LastName); }
public void ShallowCloneToWillAValueType() { var testClass = new CloneTestClass {FirstName = "John", LastName = "Doe"}; var source = new CloneTestStructWithClonableClassField { TestClass = testClass }; var dest = new CloneTestStructWithClonableClassField {TestClass = new CloneTestClass()}; var clone = source.ShallowCloneTo(dest); Assert.IsTrue(ReferenceEquals(testClass, clone.TestClass)); }