public static SearchDetailsResult FromDataTransferObject(recipients recipients) { return(new SearchDetailsResult { PersonDetails = recipients.recipient?.Select( r => new SearchDetails { FirstName = r.firstname, MiddleName = r.middlename, LastName = r.lastname, DigipostAddress = r.digipostaddress, MobileNumber = r.mobilenumber, OrganizationName = r.organisationname, OrganizationNumber = r.organisationnumber, SearchDetailsAddress = r.address?.Select(a => new SearchDetailsAddress { Street = a.street, HouseNumber = a.housenumber, HouseLetter = a.houseletter, AdditionalAddressLine = a.additionaladdressline, PostalCode = a.zipcode, City = a.city }) }) }); }
public void SearchResult() { //Arrange var source = new recipients { recipient = new[] { new recipient { firstname = "Stian Jarand", middlename = "Jani", lastname = "Larsen", digipostaddress = "Stian.Jani.Larsen#22DB", mobilenumber = "12345678", organisationname = "Organisatorisk Landsforbund", organisationnumber = "1234567689", address = new[] { new address { street = "Bakkeveien", housenumber = "3", houseletter = "C", additionaladdressline = "Underetasjen", zipcode = "3453", city = "Konjakken" }, new address { street = "Komleveien", housenumber = "33", zipcode = "3453", city = "Konjakken" } } }, new recipient { firstname = "Bentoni Jarandsen", lastname = "Larsen", mobilenumber = "02345638", digipostaddress = "Bentoni.Jarandsen.Larsen#KG33", address = new[] { new address { street = "Mudleveien", housenumber = "45", zipcode = "4046", city = "Hafrsfjell" } } } } }; var recipient0 = source.recipient.ElementAt(0); var recipient1 = source.recipient.ElementAt(1); var expected = new SearchDetailsResult { PersonDetails = new List <SearchDetails> { new SearchDetails { FirstName = recipient0.firstname, MiddleName = recipient0.middlename, LastName = recipient0.lastname, MobileNumber = recipient0.mobilenumber, OrganizationName = recipient0.organisationname, OrganizationNumber = recipient0.organisationnumber, DigipostAddress = recipient0.digipostaddress, SearchDetailsAddress = new List <SearchDetailsAddress> { new SearchDetailsAddress { Street = recipient0.address[0].street, HouseNumber = recipient0.address[0].housenumber, HouseLetter = recipient0.address[0].houseletter, AdditionalAddressLine = recipient0.address[0].additionaladdressline, PostalCode = recipient0.address[0].zipcode, City = recipient0.address[0].city }, new SearchDetailsAddress { Street = recipient0.address[1].street, HouseNumber = recipient0.address[1].housenumber, HouseLetter = recipient0.address[1].houseletter, AdditionalAddressLine = recipient0.address[1].additionaladdressline, PostalCode = recipient0.address[1].zipcode, City = recipient0.address[1].city } } }, new SearchDetails { FirstName = recipient1.firstname, MiddleName = recipient1.middlename, LastName = recipient1.lastname, MobileNumber = recipient1.mobilenumber, OrganizationName = recipient1.organisationname, OrganizationNumber = recipient1.organisationnumber, DigipostAddress = recipient1.digipostaddress, SearchDetailsAddress = new List <SearchDetailsAddress> { new SearchDetailsAddress { Street = recipient1.address[0].street, HouseNumber = recipient1.address[0].housenumber, HouseLetter = recipient1.address[0].houseletter, AdditionalAddressLine = recipient1.address[0].additionaladdressline, PostalCode = recipient1.address[0].zipcode, City = recipient1.address[0].city } } } } }; var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }