From aae042c6db2a236e58b499b4106a792940b9595c Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Tue, 5 Feb 2013 13:09:14 -0600 Subject: [PATCH] Additional IntervalSet unit test (catches underlying cause of #153) --- tool/test/org/antlr/v4/test/TestIntervalSet.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tool/test/org/antlr/v4/test/TestIntervalSet.java b/tool/test/org/antlr/v4/test/TestIntervalSet.java index a0aca9a81..337df2298 100644 --- a/tool/test/org/antlr/v4/test/TestIntervalSet.java +++ b/tool/test/org/antlr/v4/test/TestIntervalSet.java @@ -340,6 +340,21 @@ public class TestIntervalSet extends BaseTest { assertEquals(expecting, result); } + /** + * This case is responsible for antlr/antlr4#153. + * https://github.com/antlr/antlr4/issues/153 + */ + @Test public void testMergeWhereAdditionMergesThreeExistingIntervals() throws Exception { + IntervalSet s = new IntervalSet(); + s.add(0); + s.add(3); + s.add(5); + s.add(0, 7); + String expecting = "{0..7}"; + String result = s.toString(); + assertEquals(expecting, result); + } + @Test public void testMergeWithDoubleOverlap() throws Exception { IntervalSet s = IntervalSet.of(1,10); s.add(20,30);