修改多文件源类，并写测试案例