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: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to