diff --git a/tests/test_memoize.py b/tests/test_memoize.py
index 09003acee0496a0eec7c713d19ead15f7948025d..9b885d0fd7d2c739fddd1d7bc15bb8eb753f5ba0 100644
--- a/tests/test_memoize.py
+++ b/tests/test_memoize.py
@@ -51,6 +51,72 @@ def test_memoize():
     assert timesCalled[0] == 7
 
 
+def test_memoize_create():
+
+    timesCalled = {
+        'without_brackets' : 0,
+        'with_brackets'    : 0
+    }
+
+    @memoize.memoize
+    def without_brackets():
+        timesCalled['without_brackets'] += 1
+        return 5
+
+    @memoize.memoize()
+    def with_brackets():
+        timesCalled['with_brackets'] += 1
+        return 10
+
+
+    for i in range(10):
+        assert without_brackets()              == 5
+        assert with_brackets()                 == 10
+        assert timesCalled['without_brackets'] == 1
+        assert timesCalled['with_brackets']    == 1
+
+
+def test_memoize_invalidate():
+
+    timesCalled = collections.defaultdict(lambda: 0)
+
+    @memoize.memoize
+    def func(arg):
+        timesCalled[arg] += 1
+        return arg * 5
+
+
+    for i in range(5):
+        assert func(5)         == 25
+        assert func(10)        == 50
+        assert timesCalled[5]  == 1
+        assert timesCalled[10] == 1
+
+    func.invalidate()
+
+    for i in range(5):
+        assert func(5)         == 25
+        assert func(10)        == 50
+        assert timesCalled[5]  == 2
+        assert timesCalled[10] == 2
+
+    func.invalidate(5)
+    for i in range(5):
+        assert func(5)         == 25
+        assert func(10)        == 50
+        assert timesCalled[5]  == 3
+        assert timesCalled[10] == 2
+
+    func.invalidate(10)
+    for i in range(5):
+        assert func(5)         == 25
+        assert func(10)        == 50
+        assert timesCalled[5]  == 3
+        assert timesCalled[10] == 3
+
+
+
+
 def test_memoizeMD5():
     timesCalled = [0]