[Checkins] SVN: zope.index/trunk/src/zope/index/text/tests/test_parsetree.py 100% coverage for zope.index.text.pasretree module.
Tres Seaver
tseaver at palladion.com
Wed Jun 10 21:03:32 EDT 2009
Log message for revision 100826:
100% coverage for zope.index.text.pasretree module.
Changed:
U zope.index/trunk/src/zope/index/text/tests/test_parsetree.py
-=-
Modified: zope.index/trunk/src/zope/index/text/tests/test_parsetree.py
===================================================================
--- zope.index/trunk/src/zope/index/text/tests/test_parsetree.py 2009-06-11 00:50:45 UTC (rev 100825)
+++ zope.index/trunk/src/zope/index/text/tests/test_parsetree.py 2009-06-11 01:03:32 UTC (rev 100826)
@@ -111,6 +111,108 @@
result = node.executeQuery(FauxIndex())
self.assertEqual(dict(result), {})
+class OrNodeTests(unittest.TestCase, ConformsToIQueryParseTree):
+
+ def _getTargetClass(self):
+ from zope.index.text.parsetree import AtomNode
+ return AtomNode
+
+ def _makeOne(self, value=None):
+ if value is None:
+ value = [FauxValue('XXX')]
+ return self._getTargetClass()(value)
+
+ def test_nodeType(self):
+ node = self._makeOne()
+ self.assertEqual(node.nodeType(), 'ATOM')
+
+ def test___repr__(self):
+ node = self._makeOne()
+ self.assertEqual(repr(node), "AtomNode([FV:XXX])")
+
+class AtomNodeTests(unittest.TestCase, ConformsToIQueryParseTree):
+
+ def _getTargetClass(self):
+ from zope.index.text.parsetree import AtomNode
+ return AtomNode
+
+ def _makeOne(self, value=None):
+ if value is None:
+ value = 'XXX'
+ return self._getTargetClass()(value)
+
+ def test_nodeType(self):
+ node = self._makeOne()
+ self.assertEqual(node.nodeType(), 'ATOM')
+
+ def test___repr__(self):
+ node = self._makeOne()
+ self.assertEqual(repr(node), "AtomNode('XXX')")
+
+ def test_terms(self):
+ node = self._makeOne()
+ self.assertEqual(node.terms(), ['XXX'])
+
+class PhraseNodeTests(unittest.TestCase, ConformsToIQueryParseTree):
+
+ def _getTargetClass(self):
+ from zope.index.text.parsetree import PhraseNode
+ return PhraseNode
+
+ def _makeOne(self, value=None):
+ if value is None:
+ value = 'XXX YYY'
+ return self._getTargetClass()(value)
+
+ def test_nodeType(self):
+ node = self._makeOne()
+ self.assertEqual(node.nodeType(), 'PHRASE')
+
+ def test___repr__(self):
+ node = self._makeOne()
+ self.assertEqual(repr(node), "PhraseNode('XXX YYY')")
+
+ def test_executeQuery(self):
+ _called_with = []
+ def _search(*args, **kw):
+ _called_with.append((args, kw))
+ return []
+ index = FauxIndex()
+ index.search_phrase = _search
+ node = self._makeOne()
+ self.assertEqual(node.executeQuery(index), [])
+ self.assertEqual(_called_with[0], (('XXX YYY',), {}))
+
+class GlobNodeTests(unittest.TestCase, ConformsToIQueryParseTree):
+
+ def _getTargetClass(self):
+ from zope.index.text.parsetree import GlobNode
+ return GlobNode
+
+ def _makeOne(self, value=None):
+ if value is None:
+ value = 'XXX*'
+ return self._getTargetClass()(value)
+
+ def test_nodeType(self):
+ node = self._makeOne()
+ self.assertEqual(node.nodeType(), 'GLOB')
+
+ def test___repr__(self):
+ node = self._makeOne()
+ self.assertEqual(repr(node), "GlobNode('XXX*')")
+
+ def test_executeQuery(self):
+ _called_with = []
+ def _search(*args, **kw):
+ _called_with.append((args, kw))
+ return []
+ index = FauxIndex()
+ index.search_glob = _search
+ node = self._makeOne()
+ self.assertEqual(node.executeQuery(index), [])
+ self.assertEqual(_called_with[0], (('XXX*',), {}))
+
class FauxIndex(object):
def _get_family(self):
@@ -144,4 +246,8 @@
unittest.makeSuite(ParseTreeNodeTests),
unittest.makeSuite(NotNodeTests),
unittest.makeSuite(AndNodeTests),
+ unittest.makeSuite(OrNodeTests),
+ unittest.makeSuite(AtomNodeTests),
+ unittest.makeSuite(PhraseNodeTests),
+ unittest.makeSuite(GlobNodeTests),
))
More information about the Checkins
mailing list