1.1 --- a/test.py Wed Aug 26 22:51:29 2009 +0200
1.2 +++ b/test.py Wed Aug 26 23:36:02 2009 +0200
1.3 @@ -2,7 +2,7 @@
1.4
1.5 import iixr
1.6
1.7 -numbers = [12345678, 0, 1]
1.8 +numbers = [12345678, 0, 1, 127, 128, 255, 256]
1.9
1.10 f = open("test", "wb")
1.11 w = iixr.FileWriter(f)
1.12 @@ -115,24 +115,65 @@
1.13 w = iixr.TermWriter(f)
1.14 f2 = open("testI", "wb")
1.15 w2 = iixr.TermIndexWriter(f2)
1.16 -w3 = iixr.TermDictionaryWriter(w, w2, 3)
1.17 +f3 = open("testP", "wb")
1.18 +w3 = iixr.PositionWriter(f3)
1.19 +wd = iixr.TermDictionaryWriter(w, w2, w3, 3)
1.20 for term, offset in terms:
1.21 - w3.write_term(term, offset)
1.22 -w3.close()
1.23 + wd.write_term(term, offset)
1.24 +wd.close()
1.25
1.26 f = open("test", "rb")
1.27 r = iixr.TermReader(f)
1.28 f2 = open("testI", "rb")
1.29 r2 = iixr.TermIndexReader(f2)
1.30 -r3 = iixr.TermDictionaryReader(r, r2)
1.31 +f3 = open("testP", "rb")
1.32 +r3 = iixr.PositionReader(f3)
1.33 +rd = iixr.TermDictionaryReader(r, r2, r3)
1.34 terms_reversed = terms[:]
1.35 terms_reversed.reverse()
1.36 for term, offset in terms_reversed:
1.37 - o = r3.find(term)
1.38 + o = rd.find(term)
1.39 print offset == o, offset, o
1.40 for term in ("dog", "dingo"):
1.41 - o = r3.find(term)
1.42 + o = rd.find(term)
1.43 print o is None, o
1.44 -r3.close()
1.45 +rd.close()
1.46 +
1.47 +terms_with_positions = [
1.48 + ("aardvark", [(1, [2, 45, 96]), (20, [13])]),
1.49 + ("anteater", [(1, [43, 44])]),
1.50 + ("badger", [(7, [2, 22, 196]), (19, [55, 1333]), (21, [0])]),
1.51 + ("bull", [(6, [128]), (16, [12])]),
1.52 + ("bulldog", [(43, [17, 19, 256, 512])]),
1.53 + ("cat", [(123, [12, 145, 196]), (1200, [113])])
1.54 + ]
1.55 +
1.56 +f = open("test", "wb")
1.57 +w = iixr.TermWriter(f)
1.58 +f2 = open("testI", "wb")
1.59 +w2 = iixr.TermIndexWriter(f2)
1.60 +f3 = open("testP", "wb")
1.61 +w3 = iixr.PositionWriter(f3)
1.62 +wd = iixr.TermDictionaryWriter(w, w2, w3, 3)
1.63 +for term, doc_positions in terms_with_positions:
1.64 + wd.write_term_positions(term, doc_positions)
1.65 +wd.close()
1.66 +
1.67 +f = open("test", "rb")
1.68 +r = iixr.TermReader(f)
1.69 +f2 = open("testI", "rb")
1.70 +r2 = iixr.TermIndexReader(f2)
1.71 +f3 = open("testP", "rb")
1.72 +r3 = iixr.PositionReader(f3)
1.73 +rd = iixr.TermDictionaryReader(r, r2, r3)
1.74 +terms_reversed = terms_with_positions[:]
1.75 +terms_reversed.reverse()
1.76 +for term, doc_positions in terms_reversed:
1.77 + dp = rd.find_positions(term)
1.78 + print doc_positions == dp, doc_positions, dp
1.79 +for term in ("dog", "dingo"):
1.80 + dp = rd.find_positions(term)
1.81 + print dp is None, dp
1.82 +rd.close()
1.83
1.84 # vim: tabstop=4 expandtab shiftwidth=4