public void ReturnSelfForFluentAccessOnForMemberWithProfile() { var mappingProfile = new EntityMappingProfile <Person>(); var actual = this.target.ForMember(e => e.Location, mappingProfile); actual.Should() .Be(this.target); }
public void MapLocationCorrectlyFromProfile() { var dataRecord = DataRecordMockBuilder.CreateNew() .WithIntColumn(IdColumnName, 0, 1) .WithStringColumn(NameColumnName, 1, "name") .WithIntColumn(GenderColumnName, 2, (int)Gender.Male) .WithDateTimeColumn(dateOfBirthColumnName, 3, new DateTime(1956, 02, 10)) .WithDoubleColumn(LocationLatitudeColumnName, 4, 0.5) .WithDoubleColumn(LocationLongitudeColumnName, 5, 1.2) .WithStringColumn(LocationTownColumnName, 5, "town") .Build(); var person = new Person(); var locationMappingProfile = new EntityMappingProfile <Location>(); locationMappingProfile .ForMember(e => e.Latitude, c => c.MapFromColumnName(LocationLatitudeColumnName, true)) .ForMember(e => e.Longitude, c => c.MapFromColumnName(LocationLongitudeColumnName, true)) .ForMember(e => e.Town, c => c.MapFromColumnName(LocationTownColumnName)); this.target.ForMember(e => e.Id, c => c.MapFromColumnName(IdColumnName, true)) .ForMember(e => e.Name, c => c.MapFromColumnName(NameColumnName)) .ForMember(e => e.Gender, c => c.MapFromColumnName(GenderColumnName)) .ForMember(e => e.DateOfBirth, c => c.MapFromColumnName(dateOfBirthColumnName)) .ForMember(e => e.Location, locationMappingProfile) .Map(person, dataRecord); person.Id.Should() .Be(1); person.Name.Should() .Be("name"); person.Gender.Should() .Be(Gender.Male); person.DateOfBirth.Should() .BeSameDateAs(new DateTime(1956, 02, 10)); person.Location.Should() .NotBeNull(); person.Location.Latitude.Should() .Be(0.5); person.Location.Longitude.Should() .Be(1.2); person.Location.Town.Should() .Be("town"); }
public void MapChildrenCorrectlyFromProfile() { var dataRecord = DataRecordMockBuilder.CreateNew() .WithIntColumn(IdColumnName, 0, 1) .WithStringColumn(NameColumnName, 1, "name") .WithIntColumn(GenderColumnName, 2, (int)Gender.Male) .WithDateTimeColumn(dateOfBirthColumnName, 3, new DateTime(1956, 02, 10)) .WithIntColumn(ChildIdColumnName, 6, 2) .WithStringColumn(ChildNameColumnName, 7, "child") .WithIntColumn(ChildGenderColumnName, 8, (int)Gender.Female) .WithDateTimeColumn(ChildDateOfBirthColumnName, 9, new DateTime(1986, 11, 05)) .Build(); var person = new Person(); var childMappingProfile = new EntityMappingProfile <Person>(); childMappingProfile.ForMember(e => e.Id, c => c.MapFromColumnName(ChildIdColumnName, true)) .ForMember(e => e.Name, c => c.MapFromColumnName(ChildNameColumnName)) .ForMember(e => e.Gender, c => c.MapFromColumnName(ChildGenderColumnName)) .ForMember(e => e.DateOfBirth, c => c.MapFromColumnName(ChildDateOfBirthColumnName)); this.target.ForMember(e => e.Id, c => c.MapFromColumnName(IdColumnName, true)) .ForMember(e => e.Name, c => c.MapFromColumnName(NameColumnName)) .ForMember(e => e.Gender, c => c.MapFromColumnName(GenderColumnName)) .ForMember(e => e.DateOfBirth, c => c.MapFromColumnName(dateOfBirthColumnName)) .ForGenericCollectionMember <List <Person>, Person>(e => e.Children, childMappingProfile) .Map(person, dataRecord); person.Id.Should() .Be(1); person.Name.Should() .Be("name"); person.Gender.Should() .Be(Gender.Male); person.DateOfBirth.Should() .BeSameDateAs(new DateTime(1956, 02, 10)); person.Children.Should() .NotBeNullOrEmpty(); }
public void MapChildrenAndAddressesCorrectlyFromProfiles() { var dataRecord = DataRecordMockBuilder.CreateNew() .WithIntColumn(IdColumnName, 0, 1) .WithStringColumn(NameColumnName, 1, "name") .WithIntColumn(GenderColumnName, 2, (int)Gender.Male) .WithDateTimeColumn(dateOfBirthColumnName, 3, new DateTime(1956, 02, 10)) .WithIntColumn(ChildIdColumnName, 6, 2) .WithStringColumn(ChildNameColumnName, 7, "child") .WithIntColumn(ChildGenderColumnName, 8, (int)Gender.Female) .WithDateTimeColumn(ChildDateOfBirthColumnName, 9, new DateTime(1986, 11, 05)) .WithStringColumn(AddressLine1ColumnName, 10, "line 1") .WithStringColumn(AddressLine2ColumnName, 11, "line 2") .WithStringColumn(AddressTownColumnName, 12, "town") .WithStringColumn(AddressRegionColumnName, 13, "region") .WithStringColumn(AddressPostCodeColumnName, 14, "postal code") .Build(); var person = new Person(); var childMappingProfile = new EntityMappingProfile <Person>(); childMappingProfile.ForMember(e => e.Id, c => c.MapFromColumnName(ChildIdColumnName, true)) .ForMember(e => e.Name, c => c.MapFromColumnName(ChildNameColumnName)) .ForMember(e => e.Gender, c => c.MapFromColumnName(ChildGenderColumnName)) .ForMember(e => e.DateOfBirth, c => c.MapFromColumnName(ChildDateOfBirthColumnName)); var addressMappingProfile = new EntityMappingProfile <Address>(); addressMappingProfile.ForMember(e => e.Line1, c => c.MapFromColumnName(AddressLine1ColumnName, true)) .ForMember(e => e.Line2, c => c.MapFromColumnName(AddressLine2ColumnName)) .ForMember(e => e.Town, c => c.MapFromColumnName(AddressTownColumnName)) .ForMember(e => e.Region, c => c.MapFromColumnName(AddressRegionColumnName)) .ForMember(e => e.PostCode, c => c.MapFromColumnName(AddressPostCodeColumnName)); this.target.ForMember(e => e.Id, c => c.MapFromColumnName(IdColumnName, true)) .ForMember(e => e.Name, c => c.MapFromColumnName(NameColumnName)) .ForMember(e => e.Gender, c => c.MapFromColumnName(GenderColumnName)) .ForMember(e => e.DateOfBirth, c => c.MapFromColumnName(dateOfBirthColumnName)) .ForGenericCollectionMember <List <Person>, Person>(e => e.Children, childMappingProfile) .ForArrayMember(e => e.Addresses, addressMappingProfile) .Map(person, dataRecord); person.Id.Should() .Be(1); person.Name.Should() .Be("name"); person.Gender.Should() .Be(Gender.Male); person.DateOfBirth.Should() .BeSameDateAs(new DateTime(1956, 02, 10)); person.Children.Should() .NotBeNullOrEmpty(); var firstChild = person.Children.First(); firstChild.Id.Should() .Be(2); firstChild.Name.Should() .Be("child"); firstChild.Gender.Should() .Be(Gender.Female); firstChild.DateOfBirth.Should() .BeSameDateAs(new DateTime(1986, 11, 05)); person.Addresses.Should() .NotBeNullOrEmpty(); var firstAddress = person.Addresses.First(); firstAddress.Line1.Should() .Be("line 1"); firstAddress.Line2.Should() .Be("line 2"); firstAddress.Town.Should() .Be("town"); firstAddress.Region.Should() .Be("region"); firstAddress.PostCode.Should() .Be("postal code"); }