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"]);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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();
        }
Пример #6
0
        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");
        }
Пример #7
0
        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);
        }
Пример #9
0
        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();
        }