ICU-22789 Remove segmentAfterIndex and segmentBeforeIndex

This commit is contained in:
Elango Cheran 2025-01-09 14:14:12 -08:00
parent 036eb6e45b
commit 124c487d80
4 changed files with 0 additions and 108 deletions

View file

@ -127,16 +127,6 @@ public class LocalizedSegmenter implements Segmenter {
return SegmentsImplUtils.segmentsBefore(this.breakIter, this.source, i);
}
@Override
public Segment segmentAfterIndex(int i) {
return SegmentsImplUtils.segmentAfterIndex(this.breakIter, this.source, i);
}
@Override
public Segment segmentBeforeIndex(int i) {
return SegmentsImplUtils.segmentBeforeIndex(this.breakIter, this.source, i);
}
@Override
public Function<Segment, CharSequence> segmentToSequenceFn() {
return SegmentsImplUtils.segmentToSequenceFn(this.source);

View file

@ -92,16 +92,6 @@ public class RuleBasedSegmenter implements Segmenter {
return SegmentsImplUtils.segmentsBefore(this.breakIter, this.source, i);
}
@Override
public Segment segmentAfterIndex(int i) {
return SegmentsImplUtils.segmentAfterIndex(this.breakIter, this.source, i);
}
@Override
public Segment segmentBeforeIndex(int i) {
return SegmentsImplUtils.segmentBeforeIndex(this.breakIter, this.source, i);
}
@Override
public Function<Segment, CharSequence> segmentToSequenceFn() {
return SegmentsImplUtils.segmentToSequenceFn(this.source);

View file

@ -18,10 +18,6 @@ public interface Segments {
Stream<Segment> segmentsBefore(int i);
Segment segmentAfterIndex(int i);
Segment segmentBeforeIndex(int i);
Function<Segment, CharSequence> segmentToSequenceFn();
/**

View file

@ -234,90 +234,6 @@ public class SegmentsTest extends CoreTestFmwk {
assertThat(act1, is(exp1));
}
@Test
public void testSegmentAfterIndex() {
Segmenter enWordSegmenter =
LocalizedSegmenter.builder()
.setLocale(ULocale.ENGLISH)
.setSegmentationType(LocalizedSegmenter.SegmentationType.WORD)
.build();
String source = "The quick brown fox jumped over the lazy dog.";
// Create new Segments for source
Segments segments = enWordSegmenter.segment(source);
Object[][] casesData = {
{"index before beginning", -2, 0, 3},
{"index at beginning", 0, 3, 4},
{"index in the middle (end of first segment)", 3, 4, 9},
{"index at the end", source.length()-1, null, null},
{"index after the end", source.length()+1, null, null},
};
for (Object[] caseDatum : casesData) {
String desc = (String) caseDatum[0];
int startIdx = (int) caseDatum[1];
Integer expStart = (Integer) caseDatum[2];
Integer expLimit = (Integer) caseDatum[3];
Segment segment = segments.segmentAfterIndex(startIdx);
if (expStart == null) {
assert expLimit == null;
assertThat("Out of bounds range should be null", segment == null);
} else {
assertEquals(desc + ", start", (long) expStart.intValue(), segment.start);
assertEquals(desc + ", limit", (long) expLimit.intValue(), segment.limit);
}
}
}
@Test
public void testSegmentBeforeIndex() {
Segmenter enWordSegmenter =
LocalizedSegmenter.builder()
.setLocale(ULocale.ENGLISH)
.setSegmentationType(SegmentationType.WORD)
.build();
String source = "The quick brown fox jumped over the lazy dog.";
// Create new Segments for source
Segments segments = enWordSegmenter.segment(source);
Object[][] casesData = {
{"index before beginning", -2, null, null},
{"index at beginning", 0, null, null},
{"index in the middle of the first segment", 2, null, null},
{"index in the middle of the third segment", 5, 3, 4},
{"index at the end", source.length()-1, 40, 41},
{"index after the end", source.length()+1, source.length()-1, source.length()},
};
for (Object[] caseDatum : casesData) {
String desc = (String) caseDatum[0];
int startIdx = (int) caseDatum[1];
Integer expStart = (Integer) caseDatum[2];
Integer expLimit = (Integer) caseDatum[3];
Segment segment = segments.segmentBeforeIndex(startIdx);
if (startIdx < 0 ) {
logKnownIssue("ICU-22987", "BreakIterator.preceding(-2) should return DONE, not 0");
}
if (expStart == null) {
assert expLimit == null;
assertThat("Out of bounds range should be null", segment == null);
} else {
assertEquals(desc + ", start", (long) expStart.intValue(), (long) segment.start);
assertEquals(desc + ", limit", (long) expLimit.intValue(), (long) segment.limit);
}
}
}
@Test
public void testBoundaries() {
Segmenter enWordSegmenter =