[Checkins] SVN: zope.index/trunk/src/zope/index/text/tests/test_queryengine.py Remove module-scope imports, normalize construction of OUT.

Tres Seaver tseaver at palladion.com
Thu Jun 11 01:06:26 EDT 2009


Log message for revision 100836:
  Remove module-scope imports, normalize construction of OUT.

Changed:
  U   zope.index/trunk/src/zope/index/text/tests/test_queryengine.py

-=-
Modified: zope.index/trunk/src/zope/index/text/tests/test_queryengine.py
===================================================================
--- zope.index/trunk/src/zope/index/text/tests/test_queryengine.py	2009-06-11 05:06:00 UTC (rev 100835)
+++ zope.index/trunk/src/zope/index/text/tests/test_queryengine.py	2009-06-11 05:06:26 UTC (rev 100836)
@@ -17,15 +17,12 @@
 """
 import unittest
 
-import BTrees
-
-from zope.index.text.queryparser import QueryParser
-from zope.index.text.parsetree import QueryError
-from zope.index.text.lexicon import Lexicon, Splitter
-
 class FauxIndex(object):
 
-    family = BTrees.family32
+    def _get_family(self):
+        import BTrees
+        return BTrees.family32
+    family = property(_get_family,)
 
     def search(self, term):
         b = self.family.IF.Bucket()
@@ -39,36 +36,44 @@
 
 class TestQueryEngine(unittest.TestCase):
 
-    def setUp(self):
-        self.lexicon = Lexicon(Splitter())
-        self.parser = QueryParser(self.lexicon)
-        self.index = FauxIndex()
+    def _makeIndexAndParser(self):
+        from zope.index.text.lexicon import Lexicon
+        from zope.index.text.lexicon import Splitter
+        from zope.index.text.queryparser import QueryParser
+        lexicon = Lexicon(Splitter())
+        parser = QueryParser(lexicon)
+        index = FauxIndex()
+        return index, parser
 
-    def compareSet(self, set, dict):
+    def _compareSet(self, set, dict):
         d = {}
         for k, v in set.items():
             d[k] = v
         self.assertEqual(d, dict)
 
-    def compareQuery(self, query, dict):
-        tree = self.parser.parseQuery(query)
-        set = tree.executeQuery(self.index)
-        self.compareSet(set, dict)
+    def _compareQuery(self, query, dict):
+        index, parser = self._makeIndexAndParser()
+        tree = parser.parseQuery(query)
+        set = tree.executeQuery(index)
+        self._compareSet(set, dict)
 
     def testExecuteQuery(self):
-        self.compareQuery("foo AND bar", {1: 2})
-        self.compareQuery("foo OR bar", {1: 2, 2: 1, 3:1})
-        self.compareQuery("foo AND NOT bar", {3: 1})
-        self.compareQuery("foo AND foo AND foo", {1: 3, 3: 3})
-        self.compareQuery("foo OR foo OR foo", {1: 3, 3: 3})
-        self.compareQuery("ham AND NOT foo AND NOT bar", {4: 1})
-        self.compareQuery("ham OR foo OR bar", {1: 3, 2: 2, 3: 2, 4: 1})
-        self.compareQuery("ham AND foo AND bar", {1: 3})
+        self._compareQuery("foo AND bar", {1: 2})
+        self._compareQuery("foo OR bar", {1: 2, 2: 1, 3:1})
+        self._compareQuery("foo AND NOT bar", {3: 1})
+        self._compareQuery("foo AND foo AND foo", {1: 3, 3: 3})
+        self._compareQuery("foo OR foo OR foo", {1: 3, 3: 3})
+        self._compareQuery("ham AND NOT foo AND NOT bar", {4: 1})
+        self._compareQuery("ham OR foo OR bar", {1: 3, 2: 2, 3: 2, 4: 1})
+        self._compareQuery("ham AND foo AND bar", {1: 3})
 
     def testInvalidQuery(self):
-        from zope.index.text.parsetree import NotNode, AtomNode
+        from zope.index.text.parsetree import AtomNode
+        from zope.index.text.parsetree import NotNode
+        from zope.index.text.parsetree import QueryError
+        index, parser = self._makeIndexAndParser()
         tree = NotNode(AtomNode("foo"))
-        self.assertRaises(QueryError, tree.executeQuery, self.index)
+        self.assertRaises(QueryError, tree.executeQuery, index)
 
 def test_suite():
     return unittest.makeSuite(TestQueryEngine)



More information about the Checkins mailing list