[Zope-CVS] CVS: Products/ZCTextIndex/tests - testIndex.py:1.1.2.5 testZCTextIndex.py:1.1.2.4
Guido van Rossum
guido@python.org
Thu, 2 May 2002 22:11:03 -0400
Update of /cvs-repository/Products/ZCTextIndex/tests
In directory cvs.zope.org:/tmp/cvs-serv17358/tests
Modified Files:
Tag: TextIndexDS9-branch
testIndex.py testZCTextIndex.py
Log Message:
Refactor the Index classes. The behavior of index_object() (getting
an attribute given by an attribute name passed to the constructor)
belongs in the ZCTextIndex class, but not in the Index class -- the
ZCTextIndex must conform to the PluggableIndexInterface, but Index
need not. To indicate the change, and avoid future confusion, I've
renamed Index.index_object() and Index.unindex_object() to index_doc()
and unindex_doc(). The index_doc() method takes a string as its
second argument. The ZCTextIndex.index_object() method class performs
the text extraction.
=== Products/ZCTextIndex/tests/testIndex.py 1.1.2.4 => 1.1.2.5 ===
-class Indexable:
- def __init__(self, text):
- self.text = text
-
-class MethodIndexable:
- def __init__(self, text):
- self._text = text
-
- def text(self):
- return self._text
-
-
class IndexTest(TestCase):
def setUp(self):
self.lexicon = SimpleLexicon()
- self.index = Index(self.lexicon, "text")
+ self.index = Index(self.lexicon)
def test_index_document(self, DOCID=1):
- doc = Indexable("simple document contains five words")
- self.index.index_object(DOCID, doc)
+ doc = "simple document contains five words"
+ self.index.index_doc(DOCID, doc)
self.assert_(self.index._docweight[DOCID])
self.assertEqual(len(self.index._wordinfo), 5)
self.assertEqual(len(self.index._docwords), 1)
@@ -74,16 +62,16 @@
def test_unindex_document(self):
DOCID = 1
self.test_index_document(DOCID)
- self.index.unindex_object(DOCID)
+ self.index.unindex_doc(DOCID)
self.assertEqual(len(self.index._docweight), 0)
self.assertEqual(len(self.index._wordinfo), 0)
self.assertEqual(len(self.index._docwords), 0)
def test_index_two_documents(self):
self.test_index_document()
- doc = MethodIndexable("another document just four")
+ doc = "another document just four"
DOCID = 2
- self.index.index_object(DOCID, doc)
+ self.index.index_doc(DOCID, doc)
self.assert_(self.index._docweight[DOCID])
self.assertEqual(len(self.index._wordinfo), 8)
self.assertEqual(len(self.index._docwords), 2)
@@ -102,7 +90,7 @@
def test_index_two_unindex_one(self):
# index two documents, unindex one, and test the results
self.test_index_two_documents()
- self.index.unindex_object(1)
+ self.index.unindex_doc(1)
DOCID = 2
self.assertEqual(len(self.index._docweight), 1)
self.assert_(self.index._docweight[DOCID])
@@ -114,8 +102,8 @@
self.assert_(map.has_key(DOCID))
def test_index_duplicated_words(self, DOCID=1):
- doc = Indexable("very simple repeat repeat repeat document test")
- self.index.index_object(DOCID, doc)
+ doc = "very simple repeat repeat repeat document test"
+ self.index.index_doc(DOCID, doc)
self.assert_(self.index._docweight[DOCID])
self.assertEqual(len(self.index._wordinfo), 5)
self.assertEqual(len(self.index._docwords), 1)
@@ -128,21 +116,19 @@
self.assert_(map.has_key(DOCID))
def test_simple_query_oneresult(self):
- self.index.index_object(1, MethodIndexable('not the same document'))
+ self.index.index_doc(1, 'not the same document')
results = self.index.search("document")
self.assertEqual(len(results), 1)
self.assert_(results.has_key(1))
def test_simple_query_noresults(self):
- self.index.index_object(1, MethodIndexable('not the same document'))
+ self.index.index_doc(1, 'not the same document')
results = self.index.search("frobnicate")
self.assertEqual(len(results), 0)
def test_query_oneresult(self):
- self.index.index_object(1, Indexable(
- 'not the same document'))
- self.index.index_object(2, MethodIndexable(
- 'something about something else'))
+ self.index.index_doc(1, 'not the same document')
+ self.index.index_doc(2, 'something about something else')
results = self.index.search("document")
self.assertEqual(len(results), 1)
self.assert_(results.has_key(1))
=== Products/ZCTextIndex/tests/testZCTextIndex.py 1.1.2.3 => 1.1.2.4 ===
import unittest
+class Indexable:
+ def __init__(self, text):
+ self.text = text
+
# The tests classes below create a ZCTextIndex(). Then they create
# instance variables that point to the internal components used by
# ZCTextIndex. These tests run the individual module unit tests with
@@ -20,7 +24,7 @@
# the only non-stopword is question
text = ("to be or not to be "
"that is the question")
- doc = testIndex.Indexable(text)
+ doc = Indexable(text)
self.zc_index.index_object(1, doc)
for word in text.split():
if word != "question":
@@ -49,7 +53,7 @@
def add_docs(self):
for i in range(len(self.docs)):
text = self.docs[i]
- obj = testIndex.Indexable(text)
+ obj = Indexable(text)
self.zc_index.index_object(i + 1, obj)
def compareSet(self, set, dict):