[Checkins] SVN: Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py Move sorting tests up next to sortResults tests
Hanno Schlichting
hannosch at hannosch.eu
Sat Dec 25 14:18:15 EST 2010
Log message for revision 119104:
Move sorting tests up next to sortResults tests
Changed:
U Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py
-=-
Modified: Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py
===================================================================
--- Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py 2010-12-25 19:16:33 UTC (rev 119103)
+++ Products.ZCatalog/trunk/src/Products/ZCatalog/tests/test_catalog.py 2010-12-25 19:18:15 UTC (rev 119104)
@@ -320,6 +320,34 @@
expected = list(reversed(range(90, 100)))
self.assertEqual([r.num for r in result], expected)
+ def testLargeSortedResultSetWithSmallIndex(self):
+ # This exercises the optimization in the catalog that iterates
+ # over the sort index rather than the result set when the result
+ # set is much larger than the sort index.
+ a = self._catalog(att1='att1', sort_on='att1')
+ self.assertEqual(len(a), self.upper)
+
+ def testSortLimit(self):
+ full = self._catalog(att1='att1', sort_on='num')
+ a = self._catalog(att1='att1', sort_on='num', sort_limit=10)
+ self.assertEqual([r.num for r in a], [r.num for r in full[:10]])
+ self.assertEqual(a.actual_result_count, self.upper)
+ a = self._catalog(att1='att1', sort_on='num',
+ sort_limit=10, sort_order='reverse')
+ rev = [r.num for r in full[-10:]]
+ rev.reverse()
+ self.assertEqual([r.num for r in a], rev)
+ self.assertEqual(a.actual_result_count, self.upper)
+
+ def testBigSortLimit(self):
+ a = self._catalog(att1='att1', sort_on='num', sort_limit=self.upper*3)
+ self.assertEqual(a.actual_result_count, self.upper)
+ self.assertEqual(a[0].num, 0)
+ a = self._catalog(att1='att1',
+ sort_on='num', sort_limit=self.upper*3, sort_order='reverse')
+ self.assertEqual(a.actual_result_count, self.upper)
+ self.assertEqual(a[0].num, self.upper - 1)
+
# _get_sort_attr
# _getSortIndex
# searchResults
@@ -406,35 +434,7 @@
a = self._catalog(att3='att3', att2='att2')
self.assertEqual(len(a), self.upper)
- def testLargeSortedResultSetWithSmallIndex(self):
- # This exercises the optimization in the catalog that iterates
- # over the sort index rather than the result set when the result
- # set is much larger than the sort index.
- a = self._catalog(att1='att1', sort_on='att1')
- self.assertEqual(len(a), self.upper)
- def testSortLimit(self):
- full = self._catalog(att1='att1', sort_on='num')
- a = self._catalog(att1='att1', sort_on='num', sort_limit=10)
- self.assertEqual([r.num for r in a], [r.num for r in full[:10]])
- self.assertEqual(a.actual_result_count, self.upper)
- a = self._catalog(att1='att1', sort_on='num',
- sort_limit=10, sort_order='reverse')
- rev = [r.num for r in full[-10:]]
- rev.reverse()
- self.assertEqual([r.num for r in a], rev)
- self.assertEqual(a.actual_result_count, self.upper)
-
- def testBigSortLimit(self):
- a = self._catalog(att1='att1', sort_on='num', sort_limit=self.upper*3)
- self.assertEqual(a.actual_result_count, self.upper)
- self.assertEqual(a[0].num, 0)
- a = self._catalog(att1='att1',
- sort_on='num', sort_limit=self.upper*3, sort_order='reverse')
- self.assertEqual(a.actual_result_count, self.upper)
- self.assertEqual(a[0].num, self.upper - 1)
-
-
class TestRangeSearch(CatalogBase, unittest.TestCase):
def setUp(self):
More information about the checkins
mailing list