2 |
|
|
3 |
import gzz |
import gzz |
4 |
|
|
5 |
xuindexer = gzz.index.impl.XuIndexer() |
xuindexer = gzz.index.impl.TransientXuIndexer() |
6 |
spanMaker = gzz.media.impl.ScrollSpanMaker() |
execfile("test/gzz/index/impl/xuindexer.meta") |
|
enfiladeMaker = gzz.media.impl.Enfilade1DImpl.Enfilade1DImplMaker() |
|
|
|
|
|
XuLink = gzz.index.XuLink |
|
|
|
|
|
def c(coll): |
|
|
"""Collection into sorted list""" |
|
|
l = [] |
|
|
for i in coll: l.append(i) |
|
|
l.sort() |
|
|
return l |
|
|
|
|
|
def test1(): |
|
|
span1 = spanMaker.makeTextSpan("ABC") |
|
|
span2 = spanMaker.makeTextSpan("DEF") |
|
|
|
|
|
enf1 = enfiladeMaker.makeEnfilade(span1) |
|
|
enf2 = enfiladeMaker.makeEnfilade(span2) |
|
|
|
|
|
# Link A-D |
|
|
|
|
|
link1 = XuLink(enf1.sub(0,1), enf2.sub(0,1)) |
|
|
xuindexer.add(link1) |
|
|
|
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf2.sub(0,1)))) |
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(1,2)))) |
|
|
failUnlessEqual([link1], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(0,1)))) |
|
|
|
|
|
# Link C-A |
|
|
link2 = XuLink(enf1.sub(1,2), enf1.sub(0,1)) |
|
|
xuindexer.add(link2) |
|
|
|
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf2.sub(0,1)))) |
|
|
failUnlessEqual([link2], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(1,2)))) |
|
|
failUnlessEqual([link1], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(0,1)))) |
|
|
|
|
|
xuindexer.remove(link1) |
|
|
|
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf2.sub(0,1)))) |
|
|
failUnlessEqual([link2], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(1,2)))) |
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(0,1)))) |
|
|
|
|
|
xuindexer.remove(link2) |
|
|
|
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf2.sub(0,1)))) |
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(1,2)))) |
|
|
failUnlessEqual([], |
|
|
c(xuindexer.getForwardIndex().getMatches(enf1.sub(0,1)))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# vim: set syntax=python : |
|