<?php
declare(strict_types=1);
namespace cores {class BaseModel {}}
namespace {require $argv[1];$m=new \app\common\model\SignAction;$failed=0;$passed=0;foreach(['getStartTimeAttr','getEndTimeAttr'] as $method)foreach(['2026-10-20 08:30:00'=>'2026-10-20 08:30:00','2026-10-20 08:30:00.0'=>'2026-10-20 08:30:00','2026-10-20 08:30:00.000000'=>'2026-10-20 08:30:00','2026-10-20 08:30:00.123456'=>'2026-10-20 08:30:00.123456',''=>'','not-a-date.000000'=>'not-a-date.000000','2026-10-20'=>'2026-10-20'] as $value=>$want){try{if(!method_exists($m,$method))throw new RuntimeException('Zero fractional DATETIME projection accessor absent');$got=$m->$method($value);if($got!==$want)throw new RuntimeException('Date value altered incorrectly');$passed++;}catch(Throwable $e){$failed++;echo $method,': ',$e->getMessage(),"\n";}}echo json_encode(['passed'=>$passed,'failed'=>$failed]),"\n";exit($failed?1:0);}
