package main import ( "testing" "time" ) func TestReviewedEventTimeRepairRequiresConsistentForwardTime(t *testing.T) { loc := time.FixedZone("Asia/Shanghai", 8*3600) c := change{Before: row{VIN: "LGAX2BG42H1003112", Date: "2026-10-21", Protocol: "JT808", Source: "JT808:terminal@PLATFORM:forwarder", LastTime: "2026-10-21 08:59:34"}, After: row{First: "44124.600", Last: "44402.100", FirstTime: "2026-10-20 23:29:53", LastTime: "2026-10-21 23:59:55", Daily: "277.500", Status: "OK", Reason: "historical_source_baseline"}} if err := validateChange(c, loc); err != nil { t.Fatal(err) } for _, mutate := range []func(*change){ func(c *change) { c.After.LastTime = "2026-10-21 08:00:00" }, func(c *change) { c.After.Daily = "353.800" }, func(c *change) { c.Before.Protocol = "GB32960" }, func(c *change) { c.After.FirstTime = "2026-10-22 00:00:00" }, } { bad := c mutate(&bad) if err := validateChange(bad, loc); err == nil { t.Fatalf("unsafe reviewed plan accepted: %+v", bad) } } }