getMethod('handleTime'); $handleTimeMethod->setAccessible(true); $isTimeConflictMethod = $reflection->getMethod('isTimeConflict'); $isTimeConflictMethod->setAccessible(true); $isCrossDayMethod = $reflection->getMethod('isCrossDay'); $isCrossDayMethod->setAccessible(true); echo "=== 跨天时间范围功能测试 ===\n\n"; // 测试1: 正常时间段(不跨天) echo "测试1: 正常时间段\n"; $normalTime = [['08:00', '18:00']]; $result1 = $handleTimeMethod->invoke($store, $normalTime); echo "输入: " . json_encode($normalTime) . "\n"; echo "结果: " . json_encode($result1) . "\n\n"; // 测试2: 跨天时间段 echo "测试2: 跨天时间段\n"; $crossDayTime = [['22:00', '02:00']]; $result2 = $handleTimeMethod->invoke($store, $crossDayTime); echo "输入: " . json_encode($crossDayTime) . "\n"; echo "结果: " . json_encode($result2) . "\n\n"; // 测试3: 多个时间段,包含跨天 echo "测试3: 多个时间段(包含跨天)\n"; $multipleTime = [['08:00', '12:00'], ['22:00', '02:00']]; $result3 = $handleTimeMethod->invoke($store, $multipleTime); echo "输入: " . json_encode($multipleTime) . "\n"; echo "结果: " . json_encode($result3) . "\n\n"; // 测试4: 冲突的时间段 echo "测试4: 冲突的时间段\n"; $conflictTime = [['08:00', '12:00'], ['10:00', '14:00']]; $result4 = $handleTimeMethod->invoke($store, $conflictTime); echo "输入: " . json_encode($conflictTime) . "\n"; echo "结果: " . json_encode($result4) . "\n\n"; // 测试5: 跨天时间段冲突 echo "测试5: 跨天时间段冲突\n"; $crossDayConflict = [['22:00', '02:00'], ['01:00', '05:00']]; $result5 = $handleTimeMethod->invoke($store, $crossDayConflict); echo "输入: " . json_encode($crossDayConflict) . "\n"; echo "结果: " . json_encode($result5) . "\n\n"; // 测试6: 判断是否跨天 echo "测试6: 判断是否跨天\n"; $isCrossDay1 = $isCrossDayMethod->invoke($store, '08:00', '18:00'); $isCrossDay2 = $isCrossDayMethod->invoke($store, '22:00', '02:00'); echo "08:00-18:00 是否跨天: " . ($isCrossDay1 ? 'true' : 'false') . "\n"; echo "22:00-02:00 是否跨天: " . ($isCrossDay2 ? 'true' : 'false') . "\n\n"; // 测试7: 时间冲突检测 echo "测试7: 时间冲突检测\n"; $conflict1 = $isTimeConflictMethod->invoke($store, ['08:00', '12:00'], ['10:00', '14:00']); $conflict2 = $isTimeConflictMethod->invoke($store, ['08:00', '12:00'], ['13:00', '17:00']); $conflict3 = $isTimeConflictMethod->invoke($store, ['22:00', '02:00'], ['01:00', '05:00']); $conflict4 = $isTimeConflictMethod->invoke($store, ['22:00', '02:00'], ['03:00', '07:00']); echo "08:00-12:00 与 10:00-14:00 冲突: " . ($conflict1 ? 'true' : 'false') . "\n"; echo "08:00-12:00 与 13:00-17:00 冲突: " . ($conflict2 ? 'true' : 'false') . "\n"; echo "22:00-02:00 与 01:00-05:00 冲突: " . ($conflict3 ? 'true' : 'false') . "\n"; echo "22:00-02:00 与 03:00-07:00 冲突: " . ($conflict4 ? 'true' : 'false') . "\n\n"; echo "=== 测试完成 ===\n"; ?>