public void Should_map_the_existing_array_elements_over() { var sourceList = new List <SourceObject>(); var destList = new List <DestObject>(); var config = new MapperConfiguration(cfg => cfg.CreateMap <SourceObject, DestObject>()); config.AssertConfigurationIsValid(); var source1 = new SourceObject { Id = 1, }; sourceList.Add(source1); var source2 = new SourceObject { Id = 2, }; sourceList.Add(source2); source1.AddChild(source2); // This causes the problem config.CreateMapper().Map(sourceList, destList); destList.Count.ShouldBe(2); destList[0].Children.Count.ShouldBe(1); destList[0].Children[0].ShouldBeSameAs(destList[1]); }
public void Should_map_the_existing_array_elements_over() { var sourceList = new List<SourceObject>(); var destList = new List<DestObject>(); var config = new MapperConfiguration(cfg => cfg.CreateMap<SourceObject, DestObject>().PreserveReferences()); config.AssertConfigurationIsValid(); var source1 = new SourceObject { Id = 1, }; sourceList.Add(source1); var source2 = new SourceObject { Id = 2, }; sourceList.Add(source2); source1.AddChild(source2); // This causes the problem config.CreateMapper().Map(sourceList, destList); destList.Count.ShouldEqual(2); destList[0].Children.Count.ShouldEqual(1); destList[0].Children[0].ShouldBeSameAs(destList[1]); }