diff options
Diffstat (limited to 'vendor/golang.org/x/text/internal/number/plural_test.go')
-rw-r--r-- | vendor/golang.org/x/text/internal/number/plural_test.go | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/vendor/golang.org/x/text/internal/number/plural_test.go b/vendor/golang.org/x/text/internal/number/plural_test.go deleted file mode 100644 index 3383d8c3d..000000000 --- a/vendor/golang.org/x/text/internal/number/plural_test.go +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2016 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package number - -import ( - "strconv" - "strings" - "testing" - - "golang.org/x/text/language" -) - -func TestOrdinal(t *testing.T) { - testPlurals(t, &ordinalData, ordinalTests) -} - -func TestCardinal(t *testing.T) { - testPlurals(t, &cardinalData, cardinalTests) -} - -func testPlurals(t *testing.T, p *pluralRules, testCases []pluralTest) { - for _, tc := range testCases { - for _, loc := range strings.Split(tc.locales, " ") { - langIndex, _ := language.CompactIndex(language.MustParse(loc)) - // Test integers - for _, s := range tc.integer { - a := strings.Split(s, "~") - from := parseUint(t, a[0]) - to := from - if len(a) > 1 { - to = parseUint(t, a[1]) - } - for n := from; n <= to; n++ { - if f := matchPlural(p, langIndex, n, 0, 0); f != tc.form { - t.Errorf("%s:int(%d) = %v; want %v", loc, n, f, tc.form) - } - } - } - // Test decimals - for _, s := range tc.decimal { - a := strings.Split(s, "~") - from, scale := parseFixedPoint(t, a[0]) - to := from - if len(a) > 1 { - var toScale int - if to, toScale = parseFixedPoint(t, a[1]); toScale != scale { - t.Fatalf("%s:%s: non-matching scales %d versus %d", loc, s, scale, toScale) - } - } - m := 1 - for i := 0; i < scale; i++ { - m *= 10 - } - for n := from; n <= to; n++ { - if f := matchPlural(p, langIndex, n/m, n%m, scale); f != tc.form { - t.Errorf("%[1]s:dec(%[2]d.%0[4]*[3]d) = %[5]v; want %[6]v", loc, n/m, n%m, scale, f, tc.form) - } - } - } - } - } -} - -func parseUint(t *testing.T, s string) int { - val, err := strconv.ParseUint(s, 10, 32) - if err != nil { - t.Fatal(err) - } - return int(val) -} - -func parseFixedPoint(t *testing.T, s string) (val, scale int) { - p := strings.Index(s, ".") - s = strings.Replace(s, ".", "", 1) - v, err := strconv.ParseUint(s, 10, 32) - if err != nil { - t.Fatal(err) - } - return int(v), len(s) - p -} - -func BenchmarkPluralSimpleCases(b *testing.B) { - p := &cardinalData - en, _ := language.CompactIndex(language.English) - zh, _ := language.CompactIndex(language.Chinese) - for i := 0; i < b.N; i++ { - matchPlural(p, en, 0, 0, 0) // 0 - matchPlural(p, en, 1, 0, 0) // 1 - matchPlural(p, en, 2, 12, 3) // 2.120 - matchPlural(p, zh, 0, 0, 0) // 0 - matchPlural(p, zh, 1, 0, 0) // 1 - matchPlural(p, zh, 2, 12, 3) // 2.120 - } -} - -func BenchmarkPluralComplexCases(b *testing.B) { - p := &cardinalData - ar, _ := language.CompactIndex(language.Arabic) - lv, _ := language.CompactIndex(language.Latvian) - for i := 0; i < b.N; i++ { - matchPlural(p, lv, 0, 19, 2) // 0.19 - matchPlural(p, lv, 11, 0, 3) // 11.000 - matchPlural(p, lv, 100, 123, 4) // 0.1230 - matchPlural(p, ar, 0, 0, 0) // 0 - matchPlural(p, ar, 110, 0, 0) // 110 - matchPlural(p, ar, 99, 99, 2) // 99.99 - } -} |