public void ImmutableTypesAreNotCopied() { var original = new ImmutablePoco { Reference = new object[] { 123, "hello!" } }; var result = DeepCopier.Copy(original); Assert.Same(original.Reference, result.Reference); Assert.Same(original, result); }
public void CanCopyArraysRank3WithImmutable() { var immutable = new ImmutablePoco(); var original = new object[, , ] { { { "Hello", 2, immutable }, { 300.0f, immutable, 33 } }, { { immutable, 5.0m, 135 }, { 30, immutable, 3 } } }; var result = DeepCopier.Copy(original); Assert.Equal(original, result); Assert.NotSame(original, result); Assert.Same(immutable, result[0, 0, 2]); Assert.Same(immutable, result[0, 1, 1]); Assert.Same(immutable, result[1, 0, 0]); Assert.Same(immutable, result[1, 1, 1]); }