gsmiller commented on code in PR #12642:
URL: https://github.com/apache/lucene/pull/12642#discussion_r1357145658
##########
lucene/facet/src/test/org/apache/lucene/facet/TestDrillSideways.java:
##########
@@ -316,6 +317,68 @@ public void testBasic() throws Exception {
IOUtils.close(searcher.getIndexReader(), taxoReader, taxoWriter, dir,
taxoDir);
}
+ public void testLeafCollectorSingleFinishCall() throws Exception {
+ try (Directory dir = newDirectory();
+ Directory taxoDir = newDirectory();
+ RandomIndexWriter w = new RandomIndexWriter(random(), dir);
+ DirectoryTaxonomyWriter taxoW =
+ new DirectoryTaxonomyWriter(taxoDir,
IndexWriterConfig.OpenMode.CREATE)) {
+ FacetsConfig facetsConfig = new FacetsConfig();
+
+ Document d = new Document();
+ d.add(new FacetField("foo", "bar"));
+ w.addDocument(facetsConfig.build(taxoW, d));
+
+ try (IndexReader r = w.getReader();
+ TaxonomyReader taxoR = new DirectoryTaxonomyReader(taxoW)) {
+ IndexSearcher searcher = new IndexSearcher(r);
+
+ Query baseQuery = new MatchAllDocsQuery();
+ Query dimQ = new TermQuery(new Term("foo", "bar"));
+
+ DrillDownQuery ddq = new DrillDownQuery(facetsConfig, baseQuery);
+ ddq.add("foo", dimQ);
+ DrillSideways drillSideways = new DrillSideways(searcher,
facetsConfig, taxoR);
+
+ CollectorManager<?, ?> cm =
+ new CollectorManager<>() {
+ @Override
+ public Collector newCollector() throws IOException {
+ // We don't need the collector to actually do anything; we
just care about the logic
+ // in the AssertingCollector / AssertingLeafCollector (and
AssertingIndexSearcher)
+ // to make sure #finish is called exactly once on the leaf
collector:
+ return AssertingCollector.wrap(
+ new Collector() {
+ @Override
+ public LeafCollector getLeafCollector(LeafReaderContext
context)
+ throws IOException {
+ return new LeafCollector() {
Review Comment:
Yeah fair. I think I'll actually use a `CollectorManager` that's already
defined for drill-sideways testing to simplify even further. We don't really
need to collect anything for this test, but it's easier to just use it and not
do all this custom setup.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]