public async Task TestGetById() { var person = new Person { PersonId = 10, FullName = "full name" }; var emailAddressType = new EmailAddressType { EmailAddressTypeId = EmailAddressType.Home.Id, EmailAddressTypeName = EmailAddressType.Home.Value }; var email = new EmailAddress { Address = "*****@*****.**", PersonId = person.PersonId, Person = person, EmailAddressId = 1, EmailAddressType = emailAddressType, EmailAddressTypeId = emailAddressType.EmailAddressTypeId, IsPrimary = true }; context.EmailAddresses.Add(email); context.EmailAddressTypes.Add(emailAddressType); context.People.Add(person); Action <EmailAddressDTO> tester = (dto) => { Assert.IsNotNull(dto); Assert.AreEqual(email.IsPrimary, dto.IsPrimary); Assert.AreEqual(email.PersonId, dto.PersonId); Assert.AreEqual(email.EmailAddressId, dto.Id); Assert.AreEqual(email.Address, dto.Address); Assert.AreEqual(email.EmailAddressType.EmailAddressTypeName, dto.EmailAddressType); Assert.AreEqual(email.EmailAddressTypeId, dto.EmailAddressTypeId); }; var result = service.GetById(email.EmailAddressId); var resultAsync = await service.GetByIdAsync(email.EmailAddressId); tester(result); tester(resultAsync); }