glawson0 commented on a change in pull request #146:
URL: https://github.com/apache/lucene/pull/146#discussion_r635828761



##########
File path: 
lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFlattenGraphFilter.java
##########
@@ -314,5 +314,116 @@ public void testTwoLongParallelPaths() throws Exception {
         11);
   }
 
+  // The end node the long path is supposed to flatten over doesn't exist
+  @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-9963";)
+  public void testAltPathFirstStepHole() throws Exception {
+    TokenStream in =
+        new CannedTokenStream(
+            0,
+            3,
+            new Token[] {token("abc", 1, 3, 0, 3), token("b", 1, 1, 1, 2), 
token("c", 1, 1, 2, 3)});
+
+    TokenStream out = new FlattenGraphFilter(in);
+
+    assertTokenStreamContents(

Review comment:
       A randomized test should be possible. We could build a random valid 
graph and try to flatten it. Checking offsets/length/increment would be 
difficult because the FlattenGraphFilter does change those as the graph gets 
"sausage-ized". You would have to know what tokens end up as edges between the 
same nodes in the final graph and what order they'ed be in.
   
   An easy way to do this might be to start with a closed set of tokens, create 
a synonym dictionary dictionary with some random relations, pick some of the 
tokens to be stop words, add FlattenGraphFilter at the end, then generate some 
strings from your tokens and send them through.




-- 
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.

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