class DocumentTest(unittest.TestCase): def setUp(self): self.l = Library("/tmp/index.test", "w") for data in datas: d = Document() for k, v in data.iteritems(): d[k] = v self.l.append(d) def testKargs(self): d = Document(name="Bob", score=42) self.assertEquals(42, d["score"]) def testNot(self): b = -self.l.get("score", 42) self.assertEquals(set([0]), b.results()) def testAnd(self): b = self.l.get("score", 42) & self.l.get("tags", "simple") for document in self.l.documents(self.l.query("score:42 and tags:simple")): pass # print document self.assertEquals(1, b.cardinality()) self.assertEquals(set([1]), b.results()) for doc in self.l.documents(b): self.assertEquals("casimir", doc["nom"]) def testStart(self): self.assertEquals(set([2]), self.l.start("nom", "an").results()) def testRange(self): self.assertEquals(set([0, 2]), self.l.range("nom", "adrien", "brigitte").results())