public void Delete_InvalidPredicate_ExceptionThrown(Predicate <User> predicate)
        {
            // Arrange
            var userMemoryCache = new UserMemoryRepository();

            InitUserRepository(userMemoryCache);

            // Act
            userMemoryCache.Delete(predicate);
        }
        public void Delete_ExistingUser_RemoveOneUser(User user)
        {
            // Arrange
            var userMemoryCache = new UserMemoryRepository();

            InitUserRepository(userMemoryCache);
            int oldUserCount = userMemoryCache.Count;

            // Act
            userMemoryCache.Delete((u) => u == user);

            // Assert
            Assert.AreEqual(oldUserCount - 1, userMemoryCache.Count);
        }
        public void Delete_NotExistingUser_RemoveNoUsers()
        {
            // Arrange
            var userMemoryCache = new UserMemoryRepository();

            InitUserRepository(userMemoryCache);
            int oldUserCount = userMemoryCache.Count;
            var user         = GetValidUser();

            // Act
            userMemoryCache.Delete((u) => u == user);

            // Assert
            Assert.AreEqual(oldUserCount, userMemoryCache.Count);
        }