1515# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
1616# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
1717#
18- # $Id: test_db.py,v 1.86 2003-04-21 14:29:40 kedder Exp $
18+ # $Id: test_db.py,v 1.87 2003-04-21 22:38:48 richard Exp $
1919
2020import unittest , os , shutil , time
2121
@@ -660,7 +660,10 @@ def filteringSetup(self):
660660 'foo' : date .Interval ('1d' ),
661661 'deadline' : date .Date ('2003-02-16.22:50' )},
662662 {'title' : 'issue three' , 'status' : '1' ,
663- 'nosy' : ['1' ,'2' ], 'deadline' : date .Date ('2003-03-08' )}):
663+ 'nosy' : ['1' ,'2' ], 'deadline' : date .Date ('2003-02-18' )},
664+ {'title' : 'non four' , 'status' : '3' ,
665+ 'foo' : date .Interval ('0:10' ),
666+ 'nosy' : ['1' ], 'deadline' : date .Date ('2004-03-08' )}):
664667 self .db .issue .create (** issue )
665668 self .db .commit ()
666669 return self .assertEqual , self .db .issue .filter
@@ -692,13 +695,20 @@ def testFilteringMany(self):
692695 def testFilteringRange (self ):
693696 ae , filt = self .filteringSetup ()
694697 # Date ranges
695- ae (filt (None , {'deadline' : 'from 2003-02-10 to 2003-02-23' }), ['2' ])
696- ae (filt (None , {'deadline' : '2003-02-10; 2003-02-23' }), ['2' ])
698+ ae (filt (None , {'deadline' : 'from 2003-02-10 to 2003-02-23' }), ['2' , '3' ])
699+ ae (filt (None , {'deadline' : '2003-02-10; 2003-02-23' }), ['2' , '3' ])
697700 ae (filt (None , {'deadline' : '; 2003-02-16' }), ['1' ])
698701 # Lets assume people won't invent a time machine, otherwise this test
699702 # may fail :)
700- ae (filt (None , {'deadline' : 'from 2003-02-16' }), ['2' , '3' ])
701- ae (filt (None , {'deadline' : '2003-02-16;' }), ['2' , '3' ])
703+ ae (filt (None , {'deadline' : 'from 2003-02-16' }), ['2' , '3' , '4' ])
704+ ae (filt (None , {'deadline' : '2003-02-16;' }), ['2' , '3' , '4' ])
705+ # year and month granularity
706+ ae (filt (None , {'deadline' : '2003' }), ['1' , '2' , '3' ])
707+ ae (filt (None , {'deadline' : '2004' }), ['4' ])
708+ ae (filt (None , {'deadline' : '2003-02' }), ['2' , '3' ])
709+ ae (filt (None , {'deadline' : '2003-03' }), [])
710+ ae (filt (None , {'deadline' : '2003-02-16' }), ['2' ])
711+ ae (filt (None , {'deadline' : '2003-02-17' }), [])
702712 # Interval ranges
703713 ae (filt (None , {'foo' : 'from 0:50 to 2:00' }), ['1' ])
704714 ae (filt (None , {'foo' : 'from 0:50 to 1d 2:00' }), ['1' , '2' ])
@@ -708,9 +718,9 @@ def testFilteringRange(self):
708718 def testFilteringIntervalSort (self ):
709719 ae , filt = self .filteringSetup ()
710720 # ascending should sort None, 1:10, 1d
711- ae (filt (None , {}, ('+' ,'foo' ), (None ,None )), ['3' , '1' , '2' ])
721+ ae (filt (None , {}, ('+' ,'foo' ), (None ,None )), ['3' , '4' , ' 1' , '2' ])
712722 # descending should sort 1d, 1:10, None
713- ae (filt (None , {}, ('-' ,'foo' ), (None ,None )), ['2' , '1' , '3' ])
723+ ae (filt (None , {}, ('-' ,'foo' ), (None ,None )), ['2' , '1' , '4' , ' 3' ])
714724
715725# XXX add sorting tests for other types
716726# XXX test auditors and reactors
0 commit comments