[Modeling-cvs] ProjectModeling/Modeling/tests test_EditingContext_Global.py,1.18,1.18.2.1
Status: Abandoned
Brought to you by:
sbigaret
From: <sbi...@us...> - 2003-03-17 12:53:32
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/tests In directory sc8-pr-cvs1:/tmp/cvs-serv16626/tests Modified Files: Tag: brch-0_9pre5-SQL_SortOrdering_and_LIMIT test_EditingContext_Global.py Log Message: tests.test_EditingContext_Global: added: test_17_fetchSpecWithSortOrderings(), test_18_fetchSpecWithFetchLimit() and updated the way the test-db 'AUTHOR_BOOKS' is generated: added prices for all books. Index: test_EditingContext_Global.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/tests/test_EditingContext_Global.py,v retrieving revision 1.18 retrieving revision 1.18.2.1 diff -C2 -d -r1.18 -r1.18.2.1 *** test_EditingContext_Global.py 14 Mar 2003 11:40:13 -0000 1.18 --- test_EditingContext_Global.py 17 Mar 2003 12:53:29 -0000 1.18.2.1 *************** *** 763,767 **** "[EditingContext] objectsWithFetchSpec. & NULL value" ## Note: this used to fail w/ MySQL, cf bug #614261 ! q=qualifierWithQualifierFormat('author.pygmalion.books.price == NULL"') fs=FetchSpecification('Book', qualifier=q) ec=EditingContext() --- 763,767 ---- "[EditingContext] objectsWithFetchSpec. & NULL value" ## Note: this used to fail w/ MySQL, cf bug #614261 ! q=qualifierWithQualifierFormat('author.pygmalion.books.price != NULL"') fs=FetchSpecification('Book', qualifier=q) ec=EditingContext() *************** *** 863,867 **** #print toManySnap self.failIf(len(toManySnap)!=1) ! def test_999_customSQLQuery(self): "[EditingContext] customSQLQuery" --- 863,943 ---- #print toManySnap self.failIf(len(toManySnap)!=1) ! ! def test_17_fetchSpecWithSortOrderings(self): ! "[EditingContext] fetchSpec w/ SortOrderings" ! q=qualifierWithQualifierFormat('author.lastName != NULL"') ! fs=FetchSpecification('Book', q) ! from Modeling.SortOrdering import \ ! SortOrdering, compareDescending, compareCaseInsensitiveAscending ! so0=SortOrdering('author.lastName', compareDescending) ! so1=SortOrdering('price', compareDescending) ! so2=SortOrdering('title', compareCaseInsensitiveAscending) ! fs.setSortOrderings([so0, so1, so2]) ! ec=EditingContext() ! objs=ec.objectsWithFetchSpecification(fs) ! titles=[o.getTitle() for o in objs] ! self.assertEqual(titles[1], "T'assieds pas sur le compte-gouttes") ! self.assertEqual(titles[0], "Gargantua") ! self.assertEqual(titles[2], "Le coup du pere Francois") ! self.assertEqual(titles[3], "Bouge ton pied que je voie la mer") ! ! def test_18_fetchSpecWithFetchLimit(self): ! "[EditingContext] fetchSpec w/ FetchLimit" ! q=qualifierWithQualifierFormat('author.lastName != NULL"') ! fs=FetchSpecification('Book', q) ! from Modeling.SortOrdering import \ ! SortOrdering, compareAscending, compareCaseInsensitiveAscending ! so1=SortOrdering('id', compareAscending) ! fs.setSortOrderings([so1]) ! fs.setFetchLimit(2) ! ec=EditingContext() ! objs=ec.objectsWithFetchSpecification(fs) ! self.failUnless(len(objs)==2) ! ! titles=[o.getTitle() for o in objs] ! self.assertEqual(titles[0], "Gargantua") ! self.assertEqual(titles[1], "Bouge ton pied que je voie la mer") ! ! # w/ offset ! fs.setFetchSlice(2, offset=2) ! objs=ec.objectsWithFetchSpecification(fs) ! self.failUnless(len(objs)==2) ! titles=[o.getTitle() for o in objs] ! self.assertEqual(titles[0], "Le coup du pere Francois") ! self.assertEqual(titles[1], "T'assieds pas sur le compte-gouttes") ! ! self.assertRaises(ValueError, fs.getPreviousSlice) # no page set ! ! # w/ page ! fs.setFetchSlice(2, page=1) ! objs=ec.objectsWithFetchSpecification(fs) ! self.failUnless(len(objs)==2) ! titles=[o.getTitle() for o in objs] ! self.assertEqual(titles[0], "Gargantua") ! self.assertEqual(titles[1], "Bouge ton pied que je voie la mer") ! ! self.assertRaises(ValueError, fs.getPreviousSlice) # Already at page 1 ! # getNextSlice ! fs.getNextSlice() ! objs=ec.objectsWithFetchSpecification(fs) ! self.failUnless(len(objs)==2) ! titles=[o.getTitle() for o in objs] ! self.assertEqual(titles[0], "Le coup du pere Francois") ! self.assertEqual(titles[1], "T'assieds pas sur le compte-gouttes") ! ! # next page is empty ! fs.getNextSlice() ! objs=ec.objectsWithFetchSpecification(fs) ! self.failUnless(len(objs)==0) ! ! # go for the previous one, once again (tests getPreviousSlice()) ! fs.getPreviousSlice() ! objs=ec.objectsWithFetchSpecification(fs) ! self.failUnless(len(objs)==2) ! titles=[o.getTitle() for o in objs] ! self.assertEqual(titles[0], "Le coup du pere Francois") ! self.assertEqual(titles[1], "T'assieds pas sur le compte-gouttes") ! ! def test_999_customSQLQuery(self): "[EditingContext] customSQLQuery" *************** *** 962,981 **** bookPKs=[pk.values()[0] for pk in bookPKs] sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id) "\ ! "values (%i,'Gargantua',%i)"%(bookPKs[0], pks[1])) channel.evaluateExpression(sqlExpr) sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id) "\ ! "values (%i,'Bouge ton pied que je voie la mer',%i)"%\ ! (bookPKs[1], pks[2])) channel.evaluateExpression(sqlExpr) sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id) "\ ! "values (%i,'Le coup du pere Francois',%i)"%\ (bookPKs[2], pks[2])) channel.evaluateExpression(sqlExpr) sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id) "\ ! "values(%i,'T\'\'assieds pas sur le compte-gouttes',%i)"% (bookPKs[3], pks[2])) channel.evaluateExpression(sqlExpr) #Fautil tuer les petits garçons qui ont les mains sur les hanches ? --- 1038,1056 ---- bookPKs=[pk.values()[0] for pk in bookPKs] sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id, price) "\ ! "values (%i,'Gargantua',%i,9.50)"%(bookPKs[0], pks[1])) channel.evaluateExpression(sqlExpr) sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id, price) "\ ! "values (%i,'Bouge ton pied que je voie la mer',%i,8.0)"%(bookPKs[1], pks[2])) channel.evaluateExpression(sqlExpr) sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id, price) "\ ! "values (%i,'Le coup du pere Francois',%i,9.49)"%\ (bookPKs[2], pks[2])) channel.evaluateExpression(sqlExpr) sqlExpr.setStatement("insert into BOOK "\ ! "(id, title, fk_writer_id, price) "\ ! "values(%i,'T\'\'assieds pas sur le compte-gouttes',%i,10)"% (bookPKs[3], pks[2])) channel.evaluateExpression(sqlExpr) #Fautil tuer les petits garçons qui ont les mains sur les hanches ? |