package sys import "testing" func TestParseCents(t *testing.T) { tests := []struct { value string want int64 }{ {"0", 0}, {"0.01", 1}, {"12.3", 1230}, {"999.99", 99999}, } for _, item := range tests { got, err := parseCents(item.value) if err != nil { t.Fatalf("parseCents(%q) returned error: %v", item.value, err) } if got != item.want { t.Fatalf("parseCents(%q)=%d, want %d", item.value, got, item.want) } } } func TestParseCentsRejectsInvalidValues(t *testing.T) { for _, value := range []string{"", "-1", "1.001", "abc", "1.2.3"} { if _, err := parseCents(value); err == nil { t.Fatalf("parseCents(%q) should fail", value) } } }