12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // Copyright 2013 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 collate_test
- import (
- "fmt"
- "testing"
- "golang.org/x/text/collate"
- "golang.org/x/text/language"
- )
- func ExampleCollator_Strings() {
- c := collate.New(language.Und)
- strings := []string{
- "ad",
- "ab",
- "äb",
- "ac",
- }
- c.SortStrings(strings)
- fmt.Println(strings)
- // Output: [ab äb ac ad]
- }
- type sorter []string
- func (s sorter) Len() int {
- return len(s)
- }
- func (s sorter) Swap(i, j int) {
- s[j], s[i] = s[i], s[j]
- }
- func (s sorter) Bytes(i int) []byte {
- return []byte(s[i])
- }
- func TestSort(t *testing.T) {
- c := collate.New(language.English)
- strings := []string{
- "bcd",
- "abc",
- "ddd",
- }
- c.Sort(sorter(strings))
- res := fmt.Sprint(strings)
- want := "[abc bcd ddd]"
- if res != want {
- t.Errorf("found %s; want %s", res, want)
- }
- }
|