public void Object_To_Dictionary_CamelCase() { var config = new TypeAdapterConfig(); config.NewConfig <SimplePoco, IDictionary <string, object> >() .TwoWays() .NameMatchingStrategy(NameMatchingStrategy.ToCamelCase); var poco = new SimplePoco { Id = Guid.NewGuid(), Name = "test", }; var dict = poco.Adapt <SimplePoco, IDictionary <string, object> >(config); dict.Count.ShouldBe(2); dict["id"].ShouldBe(poco.Id); dict["name"].ShouldBe(poco.Name); var poco2 = dict.Adapt <SimplePoco>(config); poco2.Id.ShouldBe(dict["id"]); poco2.Name.ShouldBe(dict["name"]); }
public void Fork_Setting() { var config = new TypeAdapterConfig(); config.NewConfig <SimplePoco, SimpleDto>() .Fork(cfg => cfg.ForType <string, string>() .MapToTargetWith((src, dest) => string.IsNullOrEmpty(src) ? dest : src)); var poco = new SimplePoco { Id = Guid.NewGuid(), Name1 = "Name1", Name2 = "", }; var dto = new SimpleDto { Id = poco.Id, Name1 = "Foo", Name2 = "Bar", }; poco.Adapt(dto, config); dto.Name1.ShouldBe(poco.Name1); dto.Name2.ShouldBe("Bar"); var str = poco.Name2.Adapt(dto.Name2, config); str.ShouldBe(poco.Name2); }
public void Map_RecordType() { var source = new SimplePoco {Id = Guid.NewGuid(), Name = "bar"}; var dest = source.Adapt<RecordType>(); dest.Id.ShouldBe(source.Id); dest.Name.ShouldBe(source.Name); dest.Day.ShouldBe(default(DayOfWeek)); dest.Age.ShouldBe(10); }
public void Map_RecordType() { var source = new SimplePoco { Id = Guid.NewGuid(), Name = "bar" }; var dest = source.Adapt <RecordType>(); dest.Id.ShouldBe(source.Id); dest.Name.ShouldBe(source.Name); dest.Day.ShouldBe(default(DayOfWeek)); dest.Age.ShouldBe(10); }
public void Using_Attributes() { var id = Guid.NewGuid(); var poco = new SimplePoco(id) { Name = "test" }; var dto = poco.Adapt <SimpleDto>(); dto.Id.ShouldBe(id); dto.Name.ShouldBeNull(); }
public void Map_To_Existing_Destination_Instance_Should_Pass() { var simplePoco = new SimplePoco { Id = Guid.NewGuid(), Name = "TestName" }; var dto = new SimpleDtoWithoutDefaultConstructor("unmapped"); simplePoco.Adapt(dto); dto.Id.ShouldBe(simplePoco.Id); dto.Name.ShouldBe(simplePoco.Name); dto.Unmapped.ShouldBe("unmapped"); }
public void Using_Attributes_With_NameMatchingStrategy() { TypeAdapterConfig.GlobalSettings.Default.NameMatchingStrategy(NameMatchingStrategy.IgnoreCase); var id = Guid.NewGuid(); var poco = new SimplePoco(id) { Name = "test" }; var dto = poco.Adapt <SimpleDto>(); dto.IdCode.ShouldBe(id); dto.Name.ShouldBeNull(); }
public void Object_To_Dictionary_Map() { var poco = new SimplePoco { Id = Guid.NewGuid(), Name = "test", }; var config = new TypeAdapterConfig(); config.NewConfig <SimplePoco, Dictionary <string, object> >() .Map("Code", c => c.Id); var dict = poco.Adapt <Dictionary <string, object> >(config); dict.Count.ShouldBe(2); dict["Code"].ShouldBe(poco.Id); dict["Name"].ShouldBe(poco.Name); }
public void Should_Ignore_Non_Mapped() { TypeAdapterConfig <SimplePoco, SimpleDto> .NewConfig() .Map(dest => dest.Id, src => src.Id) .IgnoreNonMapped(true) .Compile(); var poco = new SimplePoco { Id = Guid.NewGuid(), Name1 = "Name1", Name2 = "Name2", Name3 = "Name3" }; var dto = poco.Adapt <SimplePoco, SimpleDto>(); dto.Id.ShouldBe(poco.Id); dto.Name1.ShouldBeNull(); dto.Name2.ShouldBeNull(); dto.Name3.ShouldBeNull(); }