public void InitializeIntArray() { var instance = new[] { 0, 1, 2 }; var reference = new[] { 3, 4, 5, 6, 7, 8, 9 }; Initializer<int[]>.Default.Initialize(ref instance, reference); Assert.That(instance, !Is.SameAs(reference)); Assert.That(instance.Length, Is.EqualTo(reference.Length)); Assert.That(instance.ContentEquals(reference)); }
public void InitializeReferenceArray() { var instance = new[] { default(DummyReference), default(DummyReference), default(DummyReference), default(DummyReference), default(DummyReference), }; var reference = new[] { new DummyReference{ Value = 1 }, new DummyReference{ Value = 2, SubReference = new SubDummyReference() }, new DummyReference{ Value = 3, SubReference = new SubDummyReference { Value = "A" } } }; Initializer<DummyReference[]>.Default.Initialize(ref instance, reference); Assert.That(instance, !Is.SameAs(reference)); Assert.That(instance.Length, Is.EqualTo(reference.Length)); Assert.That(!instance.Contains(null)); Assert.That(instance.ContentEquals(reference, (a, b) => a.Value == b.Value && (a.SubReference == b.SubReference || a.SubReference.Value == b.SubReference.Value))); }
public void InitializeValueArray() { var instance = new[] { default(DummyValue), default(DummyValue), default(DummyValue), default(DummyValue), default(DummyValue), }; var reference = new[] { new DummyValue { Value = 1 }, new DummyValue { Value = 2, SubValue = new SubDummyValue() }, new DummyValue { Value = 3, SubValue = new SubDummyValue { Value = "A" } } }; Initializer<DummyValue[]>.Default.Initialize(ref instance, reference); Assert.That(instance, !Is.SameAs(reference)); Assert.That(instance.Length, Is.EqualTo(reference.Length)); Assert.That(instance.ContentEquals(reference)); }
public void InitializeStringArray() { var instance = new[] { "A", "B", "C" }; var reference = new[] { "D", "E" }; Initializer<string[]>.Default.Initialize(ref instance, reference); Assert.That(instance, !Is.SameAs(reference)); Assert.That(instance.Length, Is.EqualTo(reference.Length)); Assert.That(instance.ContentEquals(reference)); }