#!/usr/bin/env php begin = '2024-01-01'; $project->end = '2024-01-31'; $project->days = 20; $project->budget = 100000; $rawdata = new stdClass(); $rawdata->delta = 30; $rawdata->budget = 100000.50; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p() && e('1'); // 步骤2:工作日超出 - days大于日期差值 $project = new stdClass(); $project->begin = '2024-01-01'; $project->end = '2024-01-31'; $project->days = 100; $rawdata = new stdClass(); $rawdata->delta = 30; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p('days') && e('可用工作日不能超过『31』天'); // 步骤3:未选择长期但结束日期为空 $project = new stdClass(); $project->begin = '2024-01-01'; $project->end = ''; $project->days = 0; $rawdata = new stdClass(); $rawdata->delta = 30; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p('end') && e('『计划完成』不能为空。'); // 步骤4:预算非数字 - budget为字符串 $project = new stdClass(); $project->begin = '2024-01-01'; $project->end = '2024-01-31'; $project->days = 20; $project->budget = 'abc'; $rawdata = new stdClass(); $rawdata->delta = 30; $rawdata->budget = 'abc'; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p('budget') && e('『预算』金额必须为数字。'); // 步骤5:预算为负数 - budget小于0 $project = new stdClass(); $project->begin = '2024-01-01'; $project->end = '2024-01-31'; $project->days = 20; $project->budget = -1000; $rawdata = new stdClass(); $rawdata->delta = 30; $rawdata->budget = -1000; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p('budget') && e('『预算』金额必须大于等于0。'); // 步骤6:预算为正常数字 - 验证格式化为两位小数 $project = new stdClass(); $project->begin = '2024-01-01'; $project->end = '2024-01-31'; $project->days = 20; $project->budget = 123456.789; $rawdata = new stdClass(); $rawdata->delta = 30; $rawdata->budget = 123456.789; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p() && e('1'); // 步骤7:预算为空 - 验证空预算处理 $project = new stdClass(); $project->begin = '2024-01-01'; $project->end = '2024-01-31'; $project->days = 20; $project->budget = ''; $rawdata = new stdClass(); $rawdata->delta = 30; $rawdata->budget = ''; r($projectzenTest->checkDaysAndBudgetTest($project, $rawdata)) && p() && e('1');