Update of /cvsroot/modeling/ProjectModeling/Modeling/tests
In directory sc8-pr-cvs1:/tmp/cvs-serv13480/Modeling/tests
Modified Files:
test_EditingContext_Global.py
Log Message:
Fixed bug #847212: qualifier IN does not handle correctly strings (strings were not quoted as they should be)
Index: test_EditingContext_Global.py
===================================================================
RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_Global.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** test_EditingContext_Global.py 15 Dec 2003 15:05:00 -0000 1.44
--- test_EditingContext_Global.py 15 Dec 2003 15:15:46 -0000 1.45
***************
*** 965,968 ****
--- 965,1005 ----
self.failUnless('Dard' in objects_names)
+ def test_19c_in_not_in_operators_in_qualifiers_with_strings(self):
+ "[EditingContext] IN/NOT IN operators in qualifiers with strings & date"
+ # Bug #847212: strings not handled properly
+ from Modeling.Qualifier import KeyValueQualifier, QualifierOperatorIn
+ ec=EditingContext()
+ q=KeyValueQualifier('lastName', QualifierOperatorIn, ['Dard', 'Cleese'])
+ objects=ec.fetch('Writer', q)
+ objects_names=[o.getLastName() for o in objects]
+ self.failUnless(len(objects)==2)
+ self.failUnless('Cleese' in objects_names)
+ self.failUnless('Dard' in objects_names)
+
+ # While we're at it, test date
+ q=KeyValueQualifier('author.birthday',
+ QualifierOperatorIn, ['1484-07-02 18:16:12'])
+ objects=ec.fetch('Book', q)
+ objects_names=[b.getTitle() for b in objects]
+ self.failUnless(len(objects)==1)
+ self.failUnless('Gargantua' in objects_names)
+ # prepare last test w/ floats
+ g=objects[0]
+ g.setPrice(12.7)
+ ec.saveChanges()
+
+ try:
+ # Test float
+ ec2=EditingContext()
+ q=KeyValueQualifier('books.price', QualifierOperatorIn, [12.7, 12.2])
+ objects=ec2.fetch('Writer', q)
+ objects_names=[o.getLastName() for o in objects]
+ print objects_names
+ self.failUnless(len(objects)==1)
+ self.failUnless('Rabelais' in objects_names)
+ finally:
+ g.setPrice(None)
+ ec.saveChanges()
+
def test_20_snapshot(self):
"[EditingContext] CustomObject.snapshot()"
|