[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 ?
|