diff 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
line wrap: on
line diff
--- a/test/db_test_base.py	Fri Mar 05 14:22:34 2010 +0000
+++ b/test/db_test_base.py	Fri Mar 05 15:51:11 2010 +0000
@@ -1086,9 +1086,9 @@
 
     def filteringSetup(self):
         for user in (
-                {'username': 'bleep', 'age': 1},
-                {'username': 'blop', 'age': 1.5},
-                {'username': 'blorp', 'age': 2}):
+                {'username': 'bleep', 'age': 1, 'assignable': True},
+                {'username': 'blop', 'age': 1.5, 'assignable': True},
+                {'username': 'blorp', 'age': 2, 'assignable': False}):
             self.db.user.create(**user)
         iss = self.db.issue
         file_content = ''.join([chr(i) for i in range(255)])
@@ -1116,6 +1116,33 @@
         ae(filt(None, {'id': '2'}, ('+','id'), (None,None)), ['2'])
         ae(filt(None, {'id': '100'}, ('+','id'), (None,None)), [])
 
+    def testFilteringBoolean(self):
+        self.filteringSetup()
+        ae, filt = self.assertEqual, self.db.user.filter
+        a = 'assignable'
+        ae(filt(None, {a: '1'}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: '0'}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: ['1']}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: ['0']}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: ['0','1']}, ('+','id'), (None,None)), ['3','4','5'])
+        ae(filt(None, {a: 'True'}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: 'False'}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: ['True']}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: ['False']}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: ['False','True']}, ('+','id'), (None,None)),
+            ['3','4','5'])
+        ae(filt(None, {a: True}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: False}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: 1}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: 0}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: [1]}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: [0]}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: [0,1]}, ('+','id'), (None,None)), ['3','4','5'])
+        ae(filt(None, {a: [True]}, ('+','id'), (None,None)), ['3','4'])
+        ae(filt(None, {a: [False]}, ('+','id'), (None,None)), ['5'])
+        ae(filt(None, {a: [False,True]}, ('+','id'), (None,None)),
+            ['3','4','5'])
+
     def testFilteringNumber(self):
         self.filteringSetup()
         ae, filt = self.assertEqual, self.db.user.filter

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