diff --git a/test.py b/test.py
index f2f6fd0..758d370 100644
--- a/test.py
+++ b/test.py
@@ -2334,6 +2334,64 @@
                                dtstart=parse("19970902T090000")).count(),
                          3)
 
+    def testContains(self):
+        rr = rrule(FREQ_DAILY, count=3, dtstart=parse("19970902T090000"))
+        self.assertEqual(datetime(1997, 9, 3, 9, 0) in rr, True)
+
+    def testContainsNot(self):
+        rr = rrule(FREQ_DAILY, count=3, dtstart=parse("19970902T090000"))
+        self.assertEqual(datetime(1997, 9, 3, 9, 0) not in rr, False)
+
+    def testBefore(self):
+        self.assertEqual(rrule(FREQ_DAILY,
+                               #count=5,
+                               dtstart=parse("19970902T090000"))
+                               .before(parse("19970905T090000")),
+                         datetime(1997, 9, 4, 9, 0))
+
+    def testBeforeInc(self):
+        self.assertEqual(rrule(FREQ_DAILY,
+                               #count=5,
+                               dtstart=parse("19970902T090000"))
+                               .before(parse("19970905T090000"), inc=True),
+                         datetime(1997, 9, 5, 9, 0))
+
+    def testAfter(self):
+        self.assertEqual(rrule(FREQ_DAILY,
+                               #count=5,
+                               dtstart=parse("19970902T090000"))
+                               .after(parse("19970904T090000")),
+                         datetime(1997, 9, 5, 9, 0))
+
+    def testAfterInc(self):
+        self.assertEqual(rrule(FREQ_DAILY,
+                               #count=5,
+                               dtstart=parse("19970902T090000"))
+                               .after(parse("19970904T090000"), inc=True),
+                         datetime(1997, 9, 4, 9, 0))
+
+    def testBetween(self):
+        self.assertEqual(rrule(FREQ_DAILY,
+                               #count=5,
+                               dtstart=parse("19970902T090000"))
+                               .between(parse("19970902T090000"),
+                                        parse("19970906T090000")),
+                         [datetime(1997, 9, 3, 9, 0),
+                          datetime(1997, 9, 4, 9, 0),
+                          datetime(1997, 9, 5, 9, 0)])
+
+    def testBetweenInc(self):
+        self.assertEqual(rrule(FREQ_DAILY,
+                               #count=5,
+                               dtstart=parse("19970902T090000"))
+                               .between(parse("19970902T090000"),
+                                        parse("19970906T090000"), inc=True),
+                         [datetime(1997, 9, 2, 9, 0),
+                          datetime(1997, 9, 3, 9, 0),
+                          datetime(1997, 9, 4, 9, 0),
+                          datetime(1997, 9, 5, 9, 0),
+                          datetime(1997, 9, 6, 9, 0)])
+
     def testCachePre(self):
         rr = rrule(FREQ_DAILY, count=15, cache=True,
                    dtstart=parse("19970902T090000"))
@@ -2396,6 +2454,17 @@
                           datetime(1997, 9, 15, 9, 0),
                           datetime(1997, 9, 16, 9, 0)])
 
+    def testCachePreContains(self):
+        rr = rrule(FREQ_DAILY, count=3, cache=True,
+                   dtstart=parse("19970902T090000"))
+        self.assertEqual(datetime(1997, 9, 3, 9, 0) in rr, True)
+
+    def testCachePostContains(self):
+        rr = rrule(FREQ_DAILY, count=3, cache=True,
+                   dtstart=parse("19970902T090000"))
+        for x in rr: pass
+        self.assertEqual(datetime(1997, 9, 3, 9, 0) in rr, True)
+
     def testSet(self):
         set = rruleset()
         set.rrule(rrule(FREQ_YEARLY, count=2, byweekday=TU,
