|
15 | 15 | # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
16 | 16 | # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
17 | 17 | # |
18 | | -# $Id: db_test_base.py,v 1.79 2006-11-09 03:08:22 richard Exp $ |
| 18 | +# $Id: db_test_base.py,v 1.80 2006-11-09 05:44:51 richard Exp $ |
19 | 19 |
|
20 | 20 | import unittest, os, shutil, errno, imp, sys, time, pprint, sets |
21 | 21 |
|
@@ -1045,32 +1045,36 @@ def testFilteringMany(self): |
1045 | 1045 | ae(filt(None, {'nosy': '2', 'status': '1'}, ('+','id'), (None,None)), |
1046 | 1046 | ['3']) |
1047 | 1047 |
|
1048 | | - def testFilteringRange(self): |
| 1048 | + def testFilteringRangeBasic(self): |
1049 | 1049 | ae, filt = self.filteringSetup() |
1050 | | - # Date ranges |
1051 | 1050 | ae(filt(None, {'deadline': 'from 2003-02-10 to 2003-02-23'}), ['1','3']) |
1052 | 1051 | ae(filt(None, {'deadline': '2003-02-10; 2003-02-23'}), ['1','3']) |
1053 | 1052 | ae(filt(None, {'deadline': '; 2003-02-16'}), ['2']) |
1054 | | - # Lets assume people won't invent a time machine, otherwise this test |
1055 | | - # may fail :) |
| 1053 | + |
| 1054 | + def testFilteringRangeTwoSyntaxes(self): |
| 1055 | + ae, filt = self.filteringSetup() |
1056 | 1056 | ae(filt(None, {'deadline': 'from 2003-02-16'}), ['1', '3', '4']) |
1057 | 1057 | ae(filt(None, {'deadline': '2003-02-16;'}), ['1', '3', '4']) |
1058 | | - ae(filt(None, {'deadline': '2003-02-16;'}), ['1', '3', '4']) |
1059 | | - # year and month granularity |
| 1058 | + |
| 1059 | + def testFilteringRangeYearMonthDay(self): |
| 1060 | + ae, filt = self.filteringSetup() |
1060 | 1061 | ae(filt(None, {'deadline': '2002'}), []) |
1061 | 1062 | ae(filt(None, {'deadline': '2003'}), ['1', '2', '3']) |
1062 | 1063 | ae(filt(None, {'deadline': '2004'}), ['4']) |
1063 | 1064 | ae(filt(None, {'deadline': '2003-02'}), ['1', '3']) |
1064 | 1065 | ae(filt(None, {'deadline': '2003-03'}), []) |
1065 | 1066 | ae(filt(None, {'deadline': '2003-02-16'}), ['1']) |
1066 | 1067 | ae(filt(None, {'deadline': '2003-02-17'}), []) |
1067 | | - # Interval ranges |
| 1068 | + |
| 1069 | + def testFilteringRangeInterval(self): |
| 1070 | + ae, filt = self.filteringSetup() |
1068 | 1071 | ae(filt(None, {'foo': 'from 0:50 to 2:00'}), ['1']) |
1069 | 1072 | ae(filt(None, {'foo': 'from 0:50 to 1d 2:00'}), ['1', '2']) |
1070 | 1073 | ae(filt(None, {'foo': 'from 5:50'}), ['2']) |
1071 | 1074 | ae(filt(None, {'foo': 'to 0:05'}), []) |
1072 | 1075 |
|
1073 | | - # further |
| 1076 | + def testFilteringRangeGeekInterval(self): |
| 1077 | + ae, filt = self.filteringSetup() |
1074 | 1078 | for issue in ( |
1075 | 1079 | { 'deadline': date.Date('. -2d')}, |
1076 | 1080 | { 'deadline': date.Date('. -1d')}, |
|
0 commit comments