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))); }
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); }
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(); }
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); }