comparison test/db_test_base.py @ 4365:667c818f6a22

- unify bool searching (filter method) across backends
author Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
date Fri, 05 Mar 2010 15:51:11 +0000
parents 0e81742d0e2f
children f6a2bfd351ee
comparison
equal deleted inserted replaced
4364:0e81742d0e2f 4365:667c818f6a22
1084 self.db.issue.retire(ids[0]) 1084 self.db.issue.retire(ids[0])
1085 self.assertEqual(len(self.db.issue.stringFind(title='spam')), 1) 1085 self.assertEqual(len(self.db.issue.stringFind(title='spam')), 1)
1086 1086
1087 def filteringSetup(self): 1087 def filteringSetup(self):
1088 for user in ( 1088 for user in (
1089 {'username': 'bleep', 'age': 1}, 1089 {'username': 'bleep', 'age': 1, 'assignable': True},
1090 {'username': 'blop', 'age': 1.5}, 1090 {'username': 'blop', 'age': 1.5, 'assignable': True},
1091 {'username': 'blorp', 'age': 2}): 1091 {'username': 'blorp', 'age': 2, 'assignable': False}):
1092 self.db.user.create(**user) 1092 self.db.user.create(**user)
1093 iss = self.db.issue 1093 iss = self.db.issue
1094 file_content = ''.join([chr(i) for i in range(255)]) 1094 file_content = ''.join([chr(i) for i in range(255)])
1095 f = self.db.file.create(content=file_content) 1095 f = self.db.file.create(content=file_content)
1096 for issue in ( 1096 for issue in (
1113 def testFilteringID(self): 1113 def testFilteringID(self):
1114 ae, filt = self.filteringSetup() 1114 ae, filt = self.filteringSetup()
1115 ae(filt(None, {'id': '1'}, ('+','id'), (None,None)), ['1']) 1115 ae(filt(None, {'id': '1'}, ('+','id'), (None,None)), ['1'])
1116 ae(filt(None, {'id': '2'}, ('+','id'), (None,None)), ['2']) 1116 ae(filt(None, {'id': '2'}, ('+','id'), (None,None)), ['2'])
1117 ae(filt(None, {'id': '100'}, ('+','id'), (None,None)), []) 1117 ae(filt(None, {'id': '100'}, ('+','id'), (None,None)), [])
1118
1119 def testFilteringBoolean(self):
1120 self.filteringSetup()
1121 ae, filt = self.assertEqual, self.db.user.filter
1122 a = 'assignable'
1123 ae(filt(None, {a: '1'}, ('+','id'), (None,None)), ['3','4'])
1124 ae(filt(None, {a: '0'}, ('+','id'), (None,None)), ['5'])
1125 ae(filt(None, {a: ['1']}, ('+','id'), (None,None)), ['3','4'])
1126 ae(filt(None, {a: ['0']}, ('+','id'), (None,None)), ['5'])
1127 ae(filt(None, {a: ['0','1']}, ('+','id'), (None,None)), ['3','4','5'])
1128 ae(filt(None, {a: 'True'}, ('+','id'), (None,None)), ['3','4'])
1129 ae(filt(None, {a: 'False'}, ('+','id'), (None,None)), ['5'])
1130 ae(filt(None, {a: ['True']}, ('+','id'), (None,None)), ['3','4'])
1131 ae(filt(None, {a: ['False']}, ('+','id'), (None,None)), ['5'])
1132 ae(filt(None, {a: ['False','True']}, ('+','id'), (None,None)),
1133 ['3','4','5'])
1134 ae(filt(None, {a: True}, ('+','id'), (None,None)), ['3','4'])
1135 ae(filt(None, {a: False}, ('+','id'), (None,None)), ['5'])
1136 ae(filt(None, {a: 1}, ('+','id'), (None,None)), ['3','4'])
1137 ae(filt(None, {a: 0}, ('+','id'), (None,None)), ['5'])
1138 ae(filt(None, {a: [1]}, ('+','id'), (None,None)), ['3','4'])
1139 ae(filt(None, {a: [0]}, ('+','id'), (None,None)), ['5'])
1140 ae(filt(None, {a: [0,1]}, ('+','id'), (None,None)), ['3','4','5'])
1141 ae(filt(None, {a: [True]}, ('+','id'), (None,None)), ['3','4'])
1142 ae(filt(None, {a: [False]}, ('+','id'), (None,None)), ['5'])
1143 ae(filt(None, {a: [False,True]}, ('+','id'), (None,None)),
1144 ['3','4','5'])
1118 1145
1119 def testFilteringNumber(self): 1146 def testFilteringNumber(self):
1120 self.filteringSetup() 1147 self.filteringSetup()
1121 ae, filt = self.assertEqual, self.db.user.filter 1148 ae, filt = self.assertEqual, self.db.user.filter
1122 ae(filt(None, {'age': '1'}, ('+','id'), (None,None)), ['3']) 1149 ae(filt(None, {'age': '1'}, ('+','id'), (None,None)), ['3'])

Roundup Issue Tracker: http://roundup-tracker.org/