public async Task TestDelete()
        {
            var emailToDelete = new EmailAddress
            {
                EmailAddressId = 1
            };

            context.SetupActions.Add(() =>
            {
                context.EmailAddresses.Add(emailToDelete);
            });
            Action beforeTester = () =>
            {
                Assert.AreEqual(1, context.EmailAddresses.Count());
            };
            Action afterTester = () =>
            {
                Assert.AreEqual(0, context.EmailAddresses.Count());
            };

            context.Revert();
            beforeTester();
            service.Delete(emailToDelete.EmailAddressId);
            afterTester();

            context.Revert();
            beforeTester();
            await service.DeleteAsync(emailToDelete.EmailAddressId);

            afterTester();
        }
        public async void Delete()
        {
            var mock  = new ServiceMockFacade <IEmailAddressRepository>();
            var model = new ApiEmailAddressRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new EmailAddressService(mock.LoggerMock.Object,
                                                  mock.RepositoryMock.Object,
                                                  mock.ModelValidatorMockFactory.EmailAddressModelValidatorMock.Object,
                                                  mock.BOLMapperMockFactory.BOLEmailAddressMapperMock,
                                                  mock.DALMapperMockFactory.DALEmailAddressMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.EmailAddressModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
        }