@echo off
chcp 65001 >nul
echo ╔══════════════════════════════════════════╗
echo ║  PandaCoder Bug记录功能 - 测试启动器   ║
echo ╚══════════════════════════════════════════╝
echo.

echo 请确保：
echo   1. 已在主力IDEA中打开此项目
echo   2. Bug记录功能已启用
echo   3. Bug记录窗口已打开
echo.

echo 选择测试方式：
echo   1. 在IDEA中运行（推荐）
echo   2. 使用命令行编译运行
echo   0. 退出
echo.

set /p choice="请输入选择 (0-2): "

if "%choice%"=="0" goto :end
if "%choice%"=="1" goto :idea
if "%choice%"=="2" goto :compile

:idea
echo.
echo ════════════════════════════════════════════
echo 请在IDEA中执行以下步骤：
echo.
echo 1. 打开 src/AllTestRunner.java
echo 2. 右键点击文件
echo 3. 选择 "Run 'AllTestRunner.main()'"
echo 4. 或使用快捷键：Ctrl+Shift+F10
echo.
echo 测试将自动运行所有错误场景
echo 请观察 Bug记录窗口的变化
echo ════════════════════════════════════════════
pause
goto :end

:compile
echo.
echo 正在编译测试文件...
cd src

:: 检查是否有javac
where javac >nul 2>&1
if %errorlevel% neq 0 (
    echo.
    echo ❌ 错误：未找到 javac 命令
    echo 请确保已安装 JDK 并配置了 PATH 环境变量
    echo.
    echo 建议：直接在IDEA中运行测试（选择选项1）
    pause
    goto :end
)

javac -encoding UTF-8 *.java
if %errorlevel% neq 0 (
    echo.
    echo ❌ 编译失败，请检查错误信息
    pause
    goto :end
)

echo 编译成功！
echo.
echo 运行测试：
echo   1. 运行所有测试
echo   2. 只运行运行时异常测试
echo   3. 只运行Spring Boot错误测试
echo   4. 只运行数据库错误测试
echo   5. 只运行IO错误测试
echo   6. 只运行并发错误测试
echo.

set /p test_choice="请选择 (1-6): "

if "%test_choice%"=="1" (
    echo.
    echo 运行所有测试...
    java AllTestRunner
) else if "%test_choice%"=="2" (
    echo.
    echo 运行运行时异常测试...
    java AllTestRunner 1
) else if "%test_choice%"=="3" (
    echo.
    echo 运行Spring Boot错误测试...
    java AllTestRunner 2
) else if "%test_choice%"=="4" (
    echo.
    echo 运行数据库错误测试...
    java AllTestRunner 3
) else if "%test_choice%"=="5" (
    echo.
    echo 运行IO错误测试...
    java AllTestRunner 4
) else if "%test_choice%"=="6" (
    echo.
    echo 运行并发错误测试...
    java AllTestRunner 5
) else (
    echo 无效的选择
)

cd ..
echo.
pause
goto :end

:end
echo.
echo 测试完成！请检查 Bug记录窗口
exit /b

