diff --git a/src/test/java/com/example/demo/FormatUtilTest.java b/src/test/java/com/example/demo/FormatUtilTest.java index ad1afcd..0731bed 100644 --- a/src/test/java/com/example/demo/FormatUtilTest.java +++ b/src/test/java/com/example/demo/FormatUtilTest.java @@ -74,7 +74,7 @@ public class FormatUtilTest { *
预期结果:转换后的时间格式正确
*/ @Test - @DisplayName("formatTime方法测试 - 正常格式转换 - 【已验证】") + @DisplayName("formatTime - 时间,正常格式转换 - 【已验证】") void testFormatTime_NormalConversion() { System.out.println(); log.info("========== 时间格式化模块测试 - 正常格式转换 =========="); @@ -83,20 +83,18 @@ public class FormatUtilTest { String inputTime = "2024-01-15 14:30:25"; params.put("fromFormat", "yyyy-MM-dd HH:mm:ss"); params.put("toFormat", "yyyy/MM/dd"); - log.info("输入参数:"); log.info(" - 时间字符串: {}", inputTime); log.info(" - 源格式: {}", params.get("fromFormat")); log.info(" - 目标格式: {}", params.get("toFormat")); - // 执行测试 Object result = FormatUtil.formatTime(inputTime, params); - // 断言验证 String expectedResult = "2024/01/15"; - log.info("预期结果: {}", expectedResult); - log.info("实际结果: {}", result); + log.info("预期结果: '{}'", expectedResult); + log.info("实际结果: '{}'", result); assertEquals(expectedResult, result); + log.info("✓ 测试通过 - 格式转换结果正确"); } @@ -105,10 +103,10 @@ public class FormatUtilTest { * *测试目的:验证formatTime方法对空值的容错处理
*测试场景:输入时间为空字符串
- *预期结果:返回空字符串或默认值
+ *预期结果:返回空字符串
*/ @Test - @DisplayName("formatTime方法测试 - 空值处理 - 【已验证】") + @DisplayName("formatTime - 需要格式化时间的获取到空串 - 【已验证】") void testFormatTime_EmptyInput() { System.out.println(); log.info("========== 时间格式化模块测试 - 空值处理 =========="); @@ -117,21 +115,19 @@ public class FormatUtilTest { String inputTime = ""; params.put("fromFormat", "yyyy-MM-dd"); params.put("toFormat", "yyyy/MM/dd"); - log.info("输入参数:"); log.info(" - 时间字符串: '{}' (空字符串)", inputTime); log.info(" - 源格式: {}", params.get("fromFormat")); log.info(" - 目标格式: {}", params.get("toFormat")); - // 执行测试 Object result = FormatUtil.formatTime(inputTime, params); - // 断言验证 String expectedResult = ""; log.info("预期结果: '',(空字符串)"); log.info("实际结果: '{}'", result); assertNotNull(result); assertEquals(expectedResult, result); + log.info("✓ 测试通过 - 空值处理正确"); } @@ -143,7 +139,7 @@ public class FormatUtilTest { *预期结果:输出原值
*/ @Test - @DisplayName("formatTime方法测试 - 格式不匹配") + @DisplayName("formatTime - 格式不匹配") void testFormatTime_FormatMismatch() { System.out.println(); log.info("========== 时间格式化模块测试 - 格式不匹配 =========="); @@ -181,27 +177,39 @@ public class FormatUtilTest { *预期结果:正确提取开始时间
*/ @Test - @DisplayName("extractTimeRange方法测试 - 正常提取开始时间 - 【已验证】") + @DisplayName("extractTimeRange - 时间范围内(t1 ~ t2),正常提取开始时间 - 【已验证】") void testExtractTimeRange_ExtractStartTime() { System.out.println(); log.info("========== 时间范围提取模块测试 - 正常提取开始时间 =========="); // 输入参数 - String inputTimeRange = "2024-01-15 14:30:25 ~ 2024-01-15 16:45:30"; + String inputTimeRange1 = "2024-01-15 14:30:25 ~ 2024-01-15 16:45:30"; params.put("type", "start"); - log.info("输入参数:"); - log.info(" - 时间范围字符串: {}", inputTimeRange); + log.info(" - 时间范围字符串: {}", inputTimeRange1); log.info(" - 提取类型: {}", params.get("type")); - // 执行测试 - Object result = FormatUtil.extractTimeRange(inputTimeRange, params); - + Object result1 = FormatUtil.extractTimeRange(inputTimeRange1, params); // 断言验证 - String expectedResult = "2024-01-15 14:30:25"; - log.info("预期结果:'{}'", expectedResult); - log.info("实际结果:'{}'", result); - assertEquals(expectedResult, result); + String expectedResult1 = "2024-01-15 14:30:25"; + log.info("预期结果:'{}'", expectedResult1); + log.info("实际结果:'{}'", result1); + assertEquals(expectedResult1, result1); + + // 输入参数 + String inputTimeRange2 = "2024-01-15 ~ 2024-01-15 "; + params.put("type", "start"); + log.info("输入参数:"); + log.info(" - 时间范围字符串: {}", inputTimeRange2); + log.info(" - 提取类型: {}", params.get("type")); + // 执行测试 + Object result2 = FormatUtil.extractTimeRange(inputTimeRange2, params); + // 断言验证 + String expectedResult2 = "2024-01-15"; + log.info("预期结果:'{}'", expectedResult2); + log.info("实际结果:'{}'", result2); + assertEquals(expectedResult2, result2); + log.info("✓ 测试通过 - 开始时间提取正确"); } @@ -213,7 +221,7 @@ public class FormatUtilTest { *预期结果:返回原始字符串
*/ @Test - @DisplayName("extractTimeRange方法测试 - 无分隔符处理 - 【已验证】") + @DisplayName("extractTimeRange - 无分隔符情况下,获取开始时间 - 【已验证】") void testExtractTimeRange_NoSeparator() { System.out.println(); log.info("========== 时间范围提取模块测试 - 无分隔符处理 =========="); @@ -251,7 +259,7 @@ public class FormatUtilTest { *预计结果:正确识别并转换为目标格式
*/ @Test - @DisplayName("dynamicTimeFormat方法测试 - 标准格式识别") + @DisplayName("dynamicTimeFormat - 标准格式识别") void testDynamicTimeFormat_StandardFormat() { System.out.println(); log.info("========== 动态时间格式化模块测试 - 标准格式识别 =========="); @@ -287,7 +295,7 @@ public class FormatUtilTest { *预计结果:正确识别并转换为目标格式
*/ @Test - @DisplayName("dynamicTimeFormat方法测试 - 中文格式识别") + @DisplayName("dynamicTimeFormat - 中文格式识别") void testDynamicTimeFormat_ChineseFormat() { System.out.println(); log.info("========== 动态时间格式化模块测试 - 中文格式识别 =========="); @@ -323,7 +331,7 @@ public class FormatUtilTest { *预计结果:返回true
*/ @Test - @DisplayName("validateTimeFormat方法测试 - 格式验证通过") + @DisplayName("validateTimeFormat - 格式验证通过") void testValidateTimeFormat_ValidFormat() { System.out.println(); log.info("========== 时间格式验证模块测试 - 格式验证通过 =========="); @@ -360,7 +368,7 @@ public class FormatUtilTest { *预计结果:返回false
*/ @Test - @DisplayName("validateTimeFormat方法测试 - 格式验证失败") + @DisplayName("validateTimeFormat - 格式验证失败") void testValidateTimeFormat_InvalidFormat() { System.out.println(); log.info("========== 时间格式验证模块测试 - 格式验证失败 =========="); @@ -400,7 +408,7 @@ public class FormatUtilTest { *预计结果:截取结果正确
*/ @Test - @DisplayName("substring方法测试 - 正常截取") + @DisplayName("substring - 正常截取") void testSubstring_NormalCase() { System.out.println(); log.info("========== 字符串截取模块测试 - 正常截取 =========="); @@ -440,7 +448,7 @@ public class FormatUtilTest { *预计结果:返回空字符串或错误信息
*/ @Test - @DisplayName("substring方法测试 - 起始位置超界") + @DisplayName("substring - 起始位置超界") void testSubstring_StartOutOfBounds() { System.out.println(); log.info("========== 字符串截取模块测试 - 起始位置超界 =========="); @@ -480,7 +488,7 @@ public class FormatUtilTest { *预计结果:替换结果正确
*/ @Test - @DisplayName("regexReplace方法测试 - 正则替换 - 【已验证】") + @DisplayName("regexReplace - 正则替换 - 【已验证】") void testRegexReplace_NormalCase() { System.out.println(); log.info("========== 正则表达式替换模块测试 - 正则替换 =========="); @@ -516,8 +524,8 @@ public class FormatUtilTest { *预计结果:替换结果正确
*/ @Test - @DisplayName("regexReplace方法测试 - 三种测试 - 【已验证】") - void testRegexReplace_NormalCase3() { + @DisplayName("regexReplace - 正则替换、分组替换、大小写敏感替换 - 【已验证】") + void testRegexReplace_NormalCase4() { System.out.println(); log.info("========== 正则表达式替换模块测试 - 正则替换 =========="); @@ -530,10 +538,11 @@ public class FormatUtilTest { // 测试用例1:数字替换 + String inputString1 = "abc123def456"; Map预计结果:转换结果正确
*/ @Test - @DisplayName("toUpperCase方法测试 - 大小写转换") + @DisplayName("toUpperCase - 大小写转换") void testToUpperCase_NormalCase() { System.out.println(); log.info("========== 字符串大小写转换模块测试 - 大小写转换 =========="); @@ -610,26 +635,24 @@ public class FormatUtilTest { *预计结果:去除空格后结果正确
*/ @Test - @DisplayName("trim方法测试 - 去除空格 - 【已验证】") + @DisplayName("trim - 字符串,去除空格 - 【已验证】") void testTrim_NormalCase() { System.out.println(); log.info("========== 字符串空格处理模块测试 - 去除空格 =========="); // 输入参数 String inputString = " hello world "; - log.info("输入参数:"); log.info(" - 输入字符串: '{}'", inputString); log.info(" - 注意: 字符串前后有空格"); - // 执行测试 Object result = FormatUtil.trim(inputString, params); - // 断言验证 String expectedResult = "hello world"; log.info("预期结果: '{}'", expectedResult); log.info("实际结果: '{}'", result); assertEquals(expectedResult, result); + log.info("✓ 测试通过 - 空格去除正确"); } @@ -641,7 +664,7 @@ public class FormatUtilTest { *预计结果:替换结果正确
*/ @Test - @DisplayName("stealBeamsAndReplacePillars方法测试 - 基础替换") + @DisplayName("stealBeamsAndReplacePillars - 基础替换") void testStealBeamsAndReplacePillars_BasicReplacement() { System.out.println(); log.info("========== 字符串替换模块测试 - 基础替换 =========="); @@ -679,7 +702,7 @@ public class FormatUtilTest { *预计结果:大小写敏感替换结果正确
*/ @Test - @DisplayName("stealBeamsAndReplacePillars方法测试 - 大小写敏感 - 【已验证】") + @DisplayName("stealBeamsAndReplacePillars - 批量Map替换,大小写敏感 - 【已验证】") void testStealBeamsAndReplacePillars_CaseSensitive() { System.out.println(); log.info("========== 字符串替换模块测试 - 大小写敏感替换 =========="); @@ -716,7 +739,7 @@ public class FormatUtilTest { *预计结果:整词匹配替换结果正确
*/ @Test - @DisplayName("stealBeamsAndReplacePillars方法测试 - 整词匹配") + @DisplayName("stealBeamsAndReplacePillars - 整词匹配") void testStealBeamsAndReplacePillars_WholeWord() { System.out.println(); log.info("========== 字符串替换模块测试 - 整词匹配替换 =========="); @@ -760,7 +783,7 @@ public class FormatUtilTest { *预计结果:转换结果正确
*/ @Test - @DisplayName("coordinateConvert方法测试 - 度分秒转十进制") + @DisplayName("coordinateConvert - 度分秒转十进制") void testCoordinateConvert_DmsToDecimal() { System.out.println(); log.info("========== 坐标系转换模块测试 - 度分秒转十进制 =========="); @@ -798,31 +821,29 @@ public class FormatUtilTest { *预计结果:转换结果正确
*/ @Test - @DisplayName("coordinateConvert方法测试 - 十进制转度分秒 - 【已验证】") + @DisplayName("coordinateConvert - 十进制转度分秒 - 【已验证】") void testCoordinateConvert_DecimalToDms() { System.out.println(); log.info("========== 坐标系转换模块测试 - 十进制转度分秒 =========="); // 输入参数 String coordinate = "116.396019"; - params.put("fromFormat", "decimal"); - params.put("toFormat", "dms"); - params.put("precision", "2"); - + params.put("fromFormat", "decimal"); // 十进制 + params.put("toFormat", "dms"); // 度分秒 + params.put("precision", "2"); // 保留2位小数 log.info("输入参数:"); log.info(" - 坐标值: {}", coordinate); log.info(" - 源格式: {}", params.get("fromFormat")); log.info(" - 目标格式: {}", params.get("toFormat")); log.info(" - 注意: 116.396019 ≈ 116°23'45.67\""); - // 执行测试 Object result = FormatUtil.coordinateConvert(coordinate, params); - // 断言验证 String expectedResult = "116°23'45.67\""; log.info("预期结果:'{}'", expectedResult); log.info("实际结果:'{}'", result); assertEquals(expectedResult, result); + log.info("✓ 测试通过 - 十进制转度分秒转换正确"); } @@ -834,7 +855,7 @@ public class FormatUtilTest { *预计结果:转换结果正确
*/ @Test - @DisplayName("cartesianConvert方法测试 - 直角坐标转极坐标") + @DisplayName("cartesianConvert - 直角坐标转极坐标") void testCartesianConvert_RectangularToPolar() { System.out.println(); log.info("========== 坐标系转换模块测试 - 直角坐标转极坐标 =========="); @@ -876,7 +897,7 @@ public class FormatUtilTest { *预计结果:标准化结果正确
*/ @Test - @DisplayName("normalizeCoordinate方法测试 - 坐标标准化") + @DisplayName("normalizeCoordinate - 坐标标准化") void testNormalizeCoordinate_NormalCase() { System.out.println(); log.info("========== 坐标系转换模块测试 - 坐标格式标准化 =========="); @@ -913,7 +934,7 @@ public class FormatUtilTest { *预计结果:返回原始值
*/ @Test - @DisplayName("boundaryCheck方法测试 - 正常范围检查") + @DisplayName("boundaryCheck - 正常范围检查") void testBoundaryCheck_WithinRange() { System.out.println(); log.info("========== 极值检查模块测试 - 正常范围检查 =========="); @@ -953,7 +974,7 @@ public class FormatUtilTest { *预计结果:返回最大值
*/ @Test - @DisplayName("boundaryCheck方法测试 - 超出上限截断") + @DisplayName("boundaryCheck - 超出上限截断") void testBoundaryCheck_AboveMaxTruncate() { System.out.println(); log.info("========== 极值检查模块测试 - 超出上限截断处理 =========="); @@ -994,7 +1015,7 @@ public class FormatUtilTest { *预计结果:返回默认值
*/ @Test - @DisplayName("boundaryCheck方法测试 - 超出下限默认值") + @DisplayName("boundaryCheck - 超出下限默认值") void testBoundaryCheck_BelowMinDefault() { System.out.println(); log.info("========== 极值检查模块测试 - 超出下限默认值处理 =========="); @@ -1037,7 +1058,7 @@ public class FormatUtilTest { *预计结果:返回错误信息或默认值
*/ @Test - @DisplayName("boundaryCheck方法测试 - 异常值检测") + @DisplayName("boundaryCheck - 异常值检测") void testBoundaryCheck_NaNValue() { System.out.println(); log.info("========== 极值检查模块测试 - 异常值检测 =========="); @@ -1079,7 +1100,7 @@ public class FormatUtilTest { *预计结果:转换结果正确
*/ @Test - @DisplayName("kvMapping方法测试 - 键名格式转换 - 【验证中】") + @DisplayName("kvMapping - 键名格式转换 - 【验证中】") void testKvMapping_KeyFormatConversion() { System.out.println(); log.info("========== 数据KV映射模块测试 - 键名格式转换 =========="); @@ -1089,23 +1110,25 @@ public class FormatUtilTest { inputMap.put("user_name", "张三"); inputMap.put("user_age", 25); params.put("keyFormat", "snake_to_camel"); - log.info("输入参数:"); log.info(" - 输入Map: {}", inputMap); log.info(" - 键名格式转换: {}", params.get("keyFormat")); log.info(" - 注意: 蛇形命名(user_name)转驼峰命名(userName)"); - // 预期结果 log.info("预期结果: 非空转换结果"); - // 执行测试 Object result = FormatUtil.kvMapping(inputMap, params); - // 实际结果 - log.info("实际结果: {}", result); - + Map预计结果:过滤结果正确
*/ @Test - @DisplayName("kvMapping方法测试 - 数据过滤") + @DisplayName("kvMapping - 数据过滤") void testKvMapping_DataFiltering() { System.out.println(); log.info("========== 数据KV映射模块测试 - 数据过滤 =========="); @@ -1159,7 +1182,7 @@ public class FormatUtilTest { *预计结果:排序结果正确
*/ @Test - @DisplayName("kvMapping方法测试 - 分组排序 - 【已验证】") + @DisplayName("kvMapping - 对 Map 对象进行分组排序 - 【已验证】") void testKvMapping_GroupingSorting() { System.out.println(); log.info("========== 数据KV映射模块测试 - 分组排序 =========="); @@ -1207,7 +1230,7 @@ public class FormatUtilTest { *预计结果:JSON格式正确
*/ @Test - @DisplayName("kvMapping方法测试 - 输出格式转换") + @DisplayName("kvMapping - 输出格式转换") void testKvMapping_OutputFormat() { System.out.println(); log.info("========== 数据KV映射模块测试 - 输出格式转换 =========="); @@ -1311,7 +1334,7 @@ public class FormatUtilTest { *预计结果:所有转换正确完成
*/ @Test - @DisplayName("性能测试 - 大量数据处理") + @DisplayName("coordinateConvert - 性能测试 - 大量数据处理") void testPerformance_LargeDataProcessing() { System.out.println(); log.info("========== 性能测试 - 大量数据处理 =========="); @@ -1373,24 +1396,19 @@ public class FormatUtilTest { String inputTime = "2024-01-15"; params.put("fromFormat", "yyyy-MM-dd"); params.put("toFormat", "HH:mm:ss"); - log.info("输入参数:"); log.info(" - 输入时间: {}", inputTime); log.info(" - 源格式: {}", params.get("fromFormat")); log.info(" - 目标格式: {}", params.get("toFormat")); log.info(" - 注意: 日期格式到时间格式的无效转换"); - - // 预期结果 - log.info("预期结果: 返回默认值"); - // 执行测试 Object result = FormatUtil.formatTime(inputTime, params); - // 断言验证 String expectedResult = "00:00:00"; - log.info("预期结果: {}", expectedResult); - log.info("实际结果: {}", result); + log.info("预期结果: '{}'", expectedResult); + log.info("实际结果: '{}'", result); assertEquals(expectedResult, result); + log.info("✓ 测试通过 - 异常处理正确"); }