public void DeleteAddress_CantDeleteIfInUse() {
            Exception caugthException = null;
            var address = new Address {
                Id = 4,
                User = _currentUser
            };
            _fakeApplicationDbContext.Addresses.Add(address);
            _fakeApplicationDbContext.Trips.Add(new Trip { Id = 1, User = _currentUser, AddressOrigin = address });
            var addressService = new AddressService(_fakeApplicationDbContext, _mockCurrentUserService.Object);

            // Act
            var deleted = false;
            try {
                deleted = addressService.DeleteAddress(address.Id);
            } catch (DbEntityValidationException ex) {
                caugthException = ex;
            }

            // Assert
            Assert.IsFalse(deleted);
            Assert.IsNotNull(caugthException);
        }
        public void DeleteAddress_CanDelete() {
            const int addressId = 2;
            _fakeApplicationDbContext.Addresses.Add(new Address { Id = 1, User = _currentUser });
            _fakeApplicationDbContext.Addresses.Add(new Address { Id = 2, User = _currentUser });
            _fakeApplicationDbContext.Addresses.Add(new Address { Id = 3, User = _currentUser });
            _fakeApplicationDbContext.Addresses.Add(new Address { Id = 4, User = _otherUser });
            _fakeApplicationDbContext.Addresses.Add(new Address { Id = 5, User = _currentUser });
            var addressService = new AddressService(_fakeApplicationDbContext, _mockCurrentUserService.Object);

            // Act
            var deleted = addressService.DeleteAddress(addressId);

            // Assert
            Assert.IsTrue(deleted);
        }