1package numfmt23import (4 "testing"56 "src.rest/cat/012/internal/locale"7)89func TestSize(t *testing.T) {10 for _, tc := range []struct {11 v float6412 dec int13 want string14 }{15 {0, 1, "0 B"},16 {512, 1, "512 B"},17 {999, 1, "999 B"},18 {999.6, 1, "999 B"},19 {1000, 1, "1.0 kB"},20 {1646, 1, "1.6 kB"},21 {1646, 0, "1 kB"},22 {1646, 2, "1.64 kB"},23 {999_999, 1, "999.9 kB"},24 {2998, 1, "2.9 kB"},25 {1650, 1, "1.6 kB"},26 {1_999_999, 1, "1.9 MB"},27 {-2998, 1, "-2.9 kB"},28 {2_000_000, 1, "2.0 MB"},29 {1.5e9, 1, "1.5 GB"},30 {1.2e12, 1, "1.2 TB"},31 {8e18, 1, "8.0 EB"},32 {1e21, 1, "1000.0 EB"},33 {-5, 1, "-5 B"},34 {-1500, 1, "-1.5 kB"},35 } {36 if got := Size(tc.v, tc.dec); got != tc.want {37 t.Errorf("Size(%v, %d) = %q, want %q", tc.v, tc.dec, got, tc.want)38 }39 }40 de, _ := locale.Lookup("de-DE")41 if got := SizeIn(1646, 1, de); got != "1,6 kB" {42 t.Errorf("de-DE: %q", got)43 }44}