From dbed4a4d0fba8de2b08bebcad2c9830911ecbd85 Mon Sep 17 00:00:00 2001 From: LettuceLeaves <2878506229@qq.com> Date: Wed, 19 Nov 2025 01:05:44 +0800 Subject: [PATCH] =?UTF-8?q?test(core):=E6=B7=BB=E5=8A=A0Sunday=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v7/core/text/finder/StrFinderTest.java | 39 ++++++++----------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/hutool-core/src/test/java/cn/hutool/v7/core/text/finder/StrFinderTest.java b/hutool-core/src/test/java/cn/hutool/v7/core/text/finder/StrFinderTest.java index 64cf009486..b874db482f 100644 --- a/hutool-core/src/test/java/cn/hutool/v7/core/text/finder/StrFinderTest.java +++ b/hutool-core/src/test/java/cn/hutool/v7/core/text/finder/StrFinderTest.java @@ -54,29 +54,22 @@ public class StrFinderTest { Assertions.assertEquals(8, finder.start(text.length() - 1)); } -// @Test -// public void testAlgorithmEdgeCase() { -// // 5. 算法边界测试:验证 Sunday 算法偏移表构建是否正确 -// // 场景:模式串首尾字符重复 "aba" -// // 正向表应存靠右的 'a',反向表应存靠左的 'a' -// -// String text = "ababa"; -// // 索引: 01234 -// -// // --- 正向 --- -// StrFinder forward = StrFinder.of("aba", false); -// forward.setText(text); -// Assertions.assertEquals(0, forward.start(0)); -// // 从1开始找,应该跳过第一个a,匹配到索引2的aba -// Assertions.assertEquals(2, forward.start(1)); -// -// // --- 反向 --- -// StrFinder reverse = StrFinder.of("aba", false); -// reverse.setNegative(true); -// reverse.setText(text); -// Assertions.assertEquals(2, reverse.start(4)); -// Assertions.assertEquals(0, reverse.start(1)); -// } + @Test + public void testAlgorithmEdgeCase() { + + String text = "ababa"; + + StrFinder forward = StrFinder.of("aba", false); + forward.setText(text); + Assertions.assertEquals(0, forward.start(0)); + Assertions.assertEquals(2, forward.start(1)); + + StrFinder reverse = StrFinder.of("aba", false); + reverse.setNegative(true); + reverse.setText(text); + Assertions.assertEquals(2, reverse.start(4)); + Assertions.assertEquals(0, reverse.start(1)); + } @Test public void testZeroCopy() {