summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/internal/number/plural_test.go
diff options
context:
space:
mode:
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.go110
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
- }
-}