[Checkins] SVN: Products.ZCatalog/trunk/ Expand sort results / batching tests

Hanno Schlichting hannosch at hannosch.eu
Tue Aug 23 04:47:13 EDT 2011


Log message for revision 122668:
  Expand sort results / batching tests
  

Changed:
  U   Products.ZCatalog/trunk/CHANGES.txt
  U   Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py

-=-
Modified: Products.ZCatalog/trunk/CHANGES.txt
===================================================================
--- Products.ZCatalog/trunk/CHANGES.txt	2011-08-23 08:31:24 UTC (rev 122667)
+++ Products.ZCatalog/trunk/CHANGES.txt	2011-08-23 08:47:12 UTC (rev 122668)
@@ -4,7 +4,7 @@
 2.13.20 (unreleased)
 --------------------
 
-- Fixed incorrect calculation of batches in the second half of the resultset
+- Fixed incorrect calculation of batches in the second half of the result set
   in sortResults.
 
 2.13.19 (2011-08-20)

Modified: Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py
===================================================================
--- Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py	2011-08-23 08:31:24 UTC (rev 122667)
+++ Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py	2011-08-23 08:47:12 UTC (rev 122668)
@@ -349,30 +349,54 @@
         self.assertEqual(a.actual_result_count, self.upper)
         self.assertEqual(a[0].num, self.upper - 1)
 
+    def testSortLimitViaBatchingArgsBeforeStart(self):
+        query = dict(att1='att1', sort_on='num', b_start=-5, b_size=8)
+        result = self._catalog(query)
+        self.assertEqual(result.actual_result_count, 100)
+        self.assertEqual([r.num for r in result], range(0, 3))
+
     def testSortLimitViaBatchingArgsStart(self):
         query = dict(att1='att1', sort_on='num', b_start=0, b_size=5)
         result = self._catalog(query)
         self.assertEqual(result.actual_result_count, 100)
-        self.assertEqual([r.num for r in result], range(5))
+        self.assertEqual([r.num for r in result], range(0, 5))
 
-    def testSortLimitViaBatchingArgsMiddle(self):
+    def testSortLimitViaBatchingEarlyFirstHalf(self):
         query = dict(att1='att1', sort_on='num', b_start=11, b_size=17)
         result = self._catalog(query)
         self.assertEqual(result.actual_result_count, 100)
         self.assertEqual([r.num for r in result], range(11, 28))
 
-    def testSortLimitViaBatchingArgsSecondHalf(self):
-        query = dict(att1='att1', sort_on='num', b_start=70, b_size=15)
+    def testSortLimitViaBatchingArgsLateFirstHalf(self):
+        query = dict(att1='att1', sort_on='num', b_start=30, b_size=15)
         result = self._catalog(query)
         self.assertEqual(result.actual_result_count, 100)
-        self.assertEqual([r.num for r in result], range(70, 85))
-    
+        self.assertEqual([r.num for r in result], range(30, 45))
+
+    def testSortLimitViaBatchingArgsLeftMiddle(self):
+        query = dict(att1='att1', sort_on='num', b_start=45, b_size=8)
+        result = self._catalog(query)
+        self.assertEqual(result.actual_result_count, 100)
+        self.assertEqual([r.num for r in result], range(45, 53))
+
+    def testSortLimitViaBatchingArgsRightMiddle(self):
+        query = dict(att1='att1', sort_on='num', b_start=48, b_size=8)
+        result = self._catalog(query)
+        self.assertEqual(result.actual_result_count, 100)
+        self.assertEqual([r.num for r in result], range(48, 56))
+
     def testSortLimitViaBatchingArgsEarlySecondHalf(self):
         query = dict(att1='att1', sort_on='num', b_start=55, b_size=15)
         result = self._catalog(query)
         self.assertEqual(result.actual_result_count, 100)
         self.assertEqual([r.num for r in result], range(55, 70))
 
+    def testSortLimitViaBatchingArgsSecondHalf(self):
+        query = dict(att1='att1', sort_on='num', b_start=70, b_size=15)
+        result = self._catalog(query)
+        self.assertEqual(result.actual_result_count, 100)
+        self.assertEqual([r.num for r in result], range(70, 85))
+
     def testSortLimitViaBatchingArgsEnd(self):
         query = dict(att1='att1', sort_on='num', b_start=90, b_size=10)
         result = self._catalog(query)



More information about the checkins mailing list