Beispiel #1
0
        public void TestUpdateRecursion()
        {
            var mapper = new PureMapper(Config(2));
            var alex   = new User {
                Username = "******", Password = "******"
            };

            var nick = new User {
                Parent = alex, Username = "******", Password = "******",
            };

            var nickDto = mapper.Map <User, UserDto>(nick);

            alex.Username = "******";
            alex.Password = "******";

            nick.Username = "******";
            nick.Password = "******";

            mapper.Map(nick, nickDto);

            Assert.Equal(nickDto.NormalizedUsername, nick.Username.ToUpperInvariant());
            Assert.Equal(nickDto.HashedPassword, Convert.ToBase64String(Encoding.UTF8.GetBytes(nick.Password)));

            Assert.Equal(nickDto.Parent.NormalizedUsername, alex.Username.ToUpperInvariant());
            Assert.Equal(nickDto.Parent.HashedPassword, Convert.ToBase64String(Encoding.UTF8.GetBytes(alex.Password)));
        }
Beispiel #2
0
        public PersonDto PureMapping()
        {
            for (var i = 0; i < NumberOfIterations; i++)
            {
                PureMapper.Map <Person, PersonDto>(Person);
            }

            return(PureMapper.Map <Person, PersonDto>(Person));
        }
        public void TestNamedMap()
        {
            var mapper = new PureMapper(Config());
            var nick   = new Person {
                Name = "npal"
            };
            var dtoUnamed = mapper.Map <Person, PersonDto>(nick);
            var dtoUpper  = mapper.Map <Person, PersonDto>(nick, "upper");

            Assert.Equal(nick.Name, dtoUnamed.Name);
            Assert.Equal(nick.Name.ToUpperInvariant(), dtoUpper.Name);
        }
Beispiel #4
0
        public void Setup()
        {
            var people = new List <Person>();

            using var file = new StreamReader("RandomNames.txt");
            string line;

            while ((line = file.ReadLine()) != null)
            {
                var split = line.Split(' ');
                people.Add(new Person {
                    FirstName = split[0], LastName = split[1],
                });
            }

            Person = people.First();

            foreach (var person in people)
            {
                var i = people.IndexOf(person) + 1;
                if (i < people.Count)
                {
                    person.Parent = people[i];
                }
            }

            var cfg = new PureMapperConfig()
                      .Map <Person, PersonDto>(
                m => p => new PersonDto
            {
                FirstName = p.FirstName,
                LastName  = p.LastName,
                Parent    = m.Resolve <Person, PersonDto>().Invoke(p.Parent),
            },
                100);

            PureMapper = new PureMapper(cfg);

            AutoMapperConfiguration = new MapperConfiguration(cfg => cfg
                                                              .CreateMap <Person, PersonDto>()
                                                              .ForMember(x => x.FirstName, o => o.MapFrom(x => x.FirstName))
                                                              .ForMember(x => x.LastName, o => o.MapFrom(x => x.LastName))
                                                              .ForMember(x => x.Parent, o => o.MapFrom(x => x.Parent))
                                                              .ForAllOtherMembers(o => o.Ignore()));

            AutoMapper = AutoMapperConfiguration.CreateMapper();
        }
Beispiel #5
0
        public void TestUpdateValues()
        {
            var mapper = new PureMapper(Config(2));

            var nick = new Person {
                Name = "npal"
            };

            var dto = mapper.Map <Person, PersonDto>(nick, "upper");

            Assert.Equal(nick.Name.ToUpperInvariant(), dto.Name);

            nick.Name = "Nikos Palladinos";
            mapper.Map(nick, dto);

            Assert.Equal(nick.Name.ToUpperInvariant(), dto.Name);
        }
        public void TestRecMapping()
        {
            var mapper = new PureMapper(Config());

            var nick = new Person {
                Name = "npal"
            };
            var george = new User {
                Username = "******", Password = "******", Knows = nick
            };
            var alex = new User {
                Username = "******", Password = "******", Knows = nick, Parent = george
            };

            var dto = mapper.Map <User, UserDto>(alex);

            Assert.Equal(alex.Username.ToUpperInvariant(), dto.NormalizedUsername);
            Assert.Equal(alex.Knows.Name, dto.Knows.Name);
            Assert.Equal(alex.Parent.Username.ToUpperInvariant(), dto.Parent.NormalizedUsername);
        }
        public void TestProject()
        {
            var mapper = new PureMapper(Config(2));

            var nick = new Person {
                Name = "npal"
            };
            var john = new User {
                Username = "******", Password = "******", Knows = nick
            };
            var george = new User {
                Username = "******", Password = "******", Knows = nick, Parent = john
            };
            var alex = new User {
                Username = "******", Password = "******", Knows = nick, Parent = george
            };

            var users = new[] { alex, george, john };

            var dtoUsers = users.AsQueryable().Project <User, UserDto>(mapper).ToArray();

            Assert.Equal(users.Length, dtoUsers.Length);
        }