Pierre Carbonnelle avatar Pierre Carbonnelle committed f251eb9

add test on dates

Comments (0)

Files changed (1)

pyDatalog/examples/test.py

 import math
 import re
 import six
-import time
+import datetime
 
 from pyDatalog import pyDatalog
 def test():
         assert ask(~p(X)) == set([()])
         + p(a)
         
-        # strings and integers
+        # strings, integer, float, datetime
         + p('c')
         assert ask(p(c)) == set([()])
         
         + p(2.0)
         assert ask(p(2.0)) == set([()])
         - p(2.0)
-        
+        + p(datetime.date.today())
+        assert (ask(p(datetime.date.today()))) == set([()])
+        -p(datetime.date.today())
+                
         + n(None)
         assert ask(n(X)) == set([(None,)])
         assert ask(n(None)) == set([()])
         assert ask(s(a, b)) == None
         assert ask(s(X,a)) == set([('a',)])
         assert ask(s(X, Y)) == set([('a', 'a'),('c', 'c'),(1, 1)])
+        
+        past(D) <= (D < datetime.date.today())
+        assert ask(past(datetime.date.today())) == None
+        assert ask(past(datetime.date.today()-datetime.timedelta(1))) == set([()])
 
     assert pyDatalog.ask('p(a)') == set([()])
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.