public void DeepCopyUnit() { DeepCopyModel model = new DeepCopyModel(); model.Field1 = "klsdjflsdlflsdf"; model.Field2 = 100; model.Field3 = 101; model.Field4 = 105; model.Field5 = 106; model.Field6 = 106.45f; model.Field7 = 106.46f; model.Field8 = 106.4646598d; model.Field9 = 106.4646599d; model.Field10 = 106.46465996548m; model.Field11 = 106.46465996549m; model.Field12 = DateTime.Now; model.Field13 = DateTime.Now.AddDays(1); model.Field14 = TimeSpan.FromSeconds(30); model.Field15 = TimeSpan.FromSeconds(40); model.Field16 = TestEnum.True; model.Field17 = TestEnum.False; model.Field18 = 'A'; model.Field19 = 'B'; model.Field20 = new byte[] { 0, 1, 2, 3, 4 }; var newmodel = model.MapTo <DeepCopyModel, DeepCopyModel>(); newmodel.Field2 = 5464646; }
public void CopyingReferenceType_CreatesNewReference() { // Arrange var model = new DeepCopyModel(null, null, 0); // Act var actualCopy = DeepCopyService.DeepCopy(model); // Assert actualCopy.Should().NotBeSameAs(model); }
public void RecursivelyCopyingReferenceTypes_CreatesNewReferences() { // Arrange var subModel2 = new DeepCopyModel(null, "SubModel2", 12); var subModel1 = new DeepCopyModel(subModel2, "SubModel1", 1); var model = new DeepCopyModel(subModel1, null, 0); // Act var actualCopy = DeepCopyService.DeepCopy(model); // Assert actualCopy.SubModel.Should().NotBeSameAs(model.SubModel); actualCopy.SubModel !.SubModel.Should().NotBeSameAs(model.SubModel !.SubModel); }
public void CopyingSubReferenceTypes_KeepsValues() { // Arrange var subModel2 = new DeepCopyModel(null, "SubModel2", 12); var subModel1 = new DeepCopyModel(subModel2, "SubModel1", 1); var model = new DeepCopyModel(subModel1, null, 0); // Act var actualCopy = DeepCopyService.DeepCopy(model); // Assert actualCopy.Name.Should().Be(model.Name); actualCopy.SubModel !.Name.Should().Be(model.SubModel !.Name); actualCopy.SubModel.Age.Should().Be(model.SubModel.Age); actualCopy.SubModel !.SubModel !.Name.Should().Be(model.SubModel !.SubModel !.Name); actualCopy.SubModel.SubModel.Age.Should().Be(model.SubModel.SubModel.Age); }