package initialize import ( "testing" "time" ) func TestParseCompatibleDuration(t *testing.T) { tests := []struct { name string raw string want time.Duration wantErr bool }{ {name: "days only", raw: "3d", want: 72 * time.Hour}, {name: "days and duration", raw: "3d4h", want: 76 * time.Hour}, {name: "missing day count", raw: "xd", wantErr: true}, {name: "invalid remainder", raw: "3dgarbage", wantErr: true}, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { got, err := parseCompatibleDuration(test.raw) if test.wantErr { if err == nil { t.Fatalf("parseCompatibleDuration(%q) accepted malformed input", test.raw) } return } if err != nil { t.Fatalf("parseCompatibleDuration(%q) error = %v", test.raw, err) } if got != test.want { t.Fatalf("parseCompatibleDuration(%q) = %s, want %s", test.raw, got, test.want) } }) } }