public void CloneToJaggedStructArray() { var source = new[] { new[] {new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "John", LastName = "Doe" }}}, new[] {new CloneTestStructWithClonableClassField { TestClass = new CloneTestClass { FirstName = "Jane", LastName = "Smith"}}} }; var dest1 = new CloneTestClass(); var dest2 = new CloneTestClass(); var destination = new[] { new[] {new CloneTestStructWithClonableClassField { TestClass = dest1}}, new[] {new CloneTestStructWithClonableClassField { TestClass = dest2}} }; var clone = source.CloneTo(destination); Assert.IsTrue(ReferenceEquals(dest1, clone[0][0].TestClass)); Assert.IsTrue(ReferenceEquals(dest2, clone[1][0].TestClass)); Assert.AreEqual("John", clone[0][0].TestClass.FirstName); Assert.AreEqual("Doe", clone[0][0].TestClass.LastName); Assert.AreEqual("Jane", clone[1][0].TestClass.FirstName); Assert.AreEqual("Smith", clone[1][0].TestClass.LastName); }
public void CloneToJaggedClassArray() { var source = new[] { new[] {new CloneTestClass { FirstName = "John", LastName = "Doe" }}, new[] {new CloneTestClass { FirstName = "Jane", LastName = "Smith"}} }; var dest1 = new CloneTestClass(); var dest2 = new CloneTestClass(); var destination = new[] { new[] {dest1}, new[] {dest2} }; source.CloneTo(destination); Assert.IsTrue(ReferenceEquals(dest1, destination[0][0])); Assert.IsTrue(ReferenceEquals(dest2, destination[1][0])); Assert.AreEqual("John", destination[0][0].FirstName); Assert.AreEqual("Doe", destination[0][0].LastName); Assert.AreEqual("Jane", destination[1][0].FirstName); Assert.AreEqual("Smith", destination[1][0].LastName); }
public void CloneToMultidimentionalClassArray() { CloneTestClass[,] source = new[,] { { new CloneTestClass { FirstName = "John", LastName = "Doe" }, new CloneTestClass { FirstName = "Jane", LastName = "Smith"} } }; var dest1 = new CloneTestClass(); var dest2 = new CloneTestClass(); var destination = new[,] { { dest1, dest2 } }; source.CloneTo(destination); Assert.IsTrue(ReferenceEquals(dest1, destination[0, 0])); Assert.IsTrue(ReferenceEquals(dest2, destination[0, 1])); Assert.AreEqual("John", destination[0, 0].FirstName); Assert.AreEqual("Doe", destination[0, 0].LastName); Assert.AreEqual("Jane", destination[0, 1].FirstName); Assert.AreEqual("Smith", destination[0, 1].LastName); }
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 CloneToStructArray() { var source = new[] { new CloneTestStruct { FirstName = "John", LastName = "Doe" } }; var destination = new CloneTestStruct[1]; source.CloneTo(destination); Assert.AreEqual("John", destination[0].FirstName); Assert.AreEqual("Doe", destination[0].LastName); }