public void ScanBasedOnSingleTermTest() { var document = FromLines(0, "first-string", "second-string", "third-string"); var index = new TermsIndex(new[] { document }, new SimpleWordExtractor()); var searchExpression = new INode.Term("second-string"); var indexScan = GetService <IIndexScan>(); var foundDocs = indexScan.Execute(index, searchExpression); Assert.AreEqual(1, foundDocs.Count); Assert.AreEqual(document.Name, foundDocs.Single().Name); }
public void ScanBasedOnConjunctionAndNegationTest() { var whichSatisfies = FromLines(1, "second-string", "third-string"); var index = new TermsIndex(new[] { FromLines(0, "first-string", "second-string"), whichSatisfies, FromLines(2, "second-string", "third-string", "forth-string") }, new SimpleWordExtractor()); var searchExpression = new INode.And( new INode.And( new INode.Term("second-string"), new INode.Term("third-string")), new INode.Not( new INode.Term("forth-string"))); var indexScan = GetService <IIndexScan>(); var foundDocs = indexScan.Execute(index, searchExpression); Assert.AreEqual(1, foundDocs.Count); Assert.AreEqual(whichSatisfies.Name, foundDocs.Single().Name); }