public void TestANDNOT()
{
ChainedFilter chain = GetChainedFilter(
new Filter[] { dateFilter, sueFilter },
new ChainedFilter.Logic[] { ChainedFilter.Logic.AND, ChainedFilter.Logic.ANDNOT });
TopDocs hits = searcher.Search(query, chain, 1000);
Assert.AreEqual(MAX / 2, hits.TotalHits, "ANDNOT matches just bob");
Assert.AreEqual("bob", searcher.Doc(hits.ScoreDocs[0].doc).Get("owner"));
chain = GetChainedFilter(
new Filter[] { bobFilter, bobFilter },
new ChainedFilter.Logic[] { ChainedFilter.Logic.ANDNOT, ChainedFilter.Logic.ANDNOT });
hits = searcher.Search(query, chain, 1000);
Assert.AreEqual(MAX / 2, hits.TotalHits, "ANDNOT bob ANDNOT bob matches all sues");
Assert.AreEqual("sue", searcher.Doc(hits.ScoreDocs[0].doc).Get("owner"));
}