1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
package cmd
import (
"sort"
"testing"
"github.com/stretchr/testify/suite"
)
type sortSuite struct {
suite.Suite
}
func TestSortSuite(t *testing.T) {
suite.Run(t, &sortSuite{})
}
// stringList can be used to sort a list of strings.
func (s *sortSuite) Test_stringList() {
data := [][]string{{"foo", "bar"}, {"baz", "bza"}}
sort.Sort(StringList(data))
s.Equal([][]string{{"baz", "bza"}, {"foo", "bar"}}, data)
}
// The first different string is used in sorting.
func (s *sortSuite) Test_stringList_sort_by_column() {
data := [][]string{{"foo", "baz"}, {"foo", "bar"}}
sort.Sort(StringList(data))
s.Equal([][]string{{"foo", "bar"}, {"foo", "baz"}}, data)
}
// Empty strings are sorted last.
func (s *sortSuite) Test_stringList_empty_strings() {
data := [][]string{{"", "bar"}, {"foo", "baz"}}
sort.Sort(StringList(data))
s.Equal([][]string{{"foo", "baz"}, {"", "bar"}}, data)
}
|