public void ShallowCloneToJaggedStructArray() { var source1 = new CloneTestClass { FirstName = "John", LastName = "Doe" }; var source2 = new CloneTestClass { FirstName = "Jane", LastName = "Smith" }; var source = new[] { new[] {new CloneTestStructWithClonableClassField { TestClass = source1}}, new[] {new CloneTestStructWithClonableClassField { TestClass = source2}} }; var destination = new[] { new[] {new CloneTestStructWithClonableClassField()}, new[] {new CloneTestStructWithClonableClassField()} }; var clone = source.ShallowCloneTo(destination); Assert.IsTrue(ReferenceEquals(source1, destination[0][0].TestClass)); Assert.IsTrue(ReferenceEquals(source2, destination[1][0].TestClass)); }
public void ShallowCloneToJaggedClassArray() { var source1 = new CloneTestClass { FirstName = "John", LastName = "Doe" }; var source2 = new CloneTestClass { FirstName = "Jane", LastName = "Smith" }; var source = new[] { new[] {source1}, new[] {source2} }; var destination = new[] { new[] {new CloneTestClass()}, new[] {new CloneTestClass()} }; source.ShallowCloneTo(destination); Assert.IsTrue(ReferenceEquals(source1, destination[0][0])); Assert.IsTrue(ReferenceEquals(source2, destination[1][0])); }
public void ShallowCloneToMultidimentionalClassArray() { var source1 = new CloneTestClass { FirstName = "John", LastName = "Doe" }; var source2 = new CloneTestClass { FirstName = "Jane", LastName = "Smith" }; CloneTestClass[,] source = new[,] { { source1, source2 } }; var destination = new[,] { { new CloneTestClass(), new CloneTestClass() } }; source.ShallowCloneTo(destination); Assert.IsTrue(ReferenceEquals(source1, destination[0, 0])); Assert.IsTrue(ReferenceEquals(source2, destination[0, 1])); }
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 ShallowCloneToStructArray() { var source = new[] { new CloneTestStruct { FirstName = "John", LastName = "Doe" } }; var destination = new CloneTestStruct[1]; source.ShallowCloneTo(destination); Assert.AreEqual("John", destination[0].FirstName); Assert.AreEqual("Doe", destination[0].LastName); }