Move TestSortValues to common_test.go.

This commit moves the TestSortValues function from dump_test.go to
common_test.go to mirror the new implementation location.  It also
slightly formats the tests to be consistent with the rest of the package.
This commit is contained in:
Dave Collins 2013-11-14 21:44:13 -06:00
parent de6d1a24a0
commit fab1d2b55f
2 changed files with 37 additions and 27 deletions

View File

@ -109,3 +109,40 @@ func testFailed(result string, wants []string) bool {
}
return true
}
// TestSortValues ensures the sort functionality for relect.Value based sorting
// works as intended.
func TestSortValues(t *testing.T) {
v := reflect.ValueOf
a := v("a")
b := v("b")
c := v("c")
tests := []struct {
input []reflect.Value
expected []reflect.Value
}{
{
[]reflect.Value{v(2), v(1), v(3)},
[]reflect.Value{v(1), v(2), v(3)},
},
{
[]reflect.Value{v(2.), v(1.), v(3.)},
[]reflect.Value{v(1.), v(2.), v(3.)},
},
{
[]reflect.Value{v(false), v(true), v(false)},
[]reflect.Value{v(false), v(false), v(true)},
},
{
[]reflect.Value{b, a, c},
[]reflect.Value{a, b, c},
},
}
for _, test := range tests {
spew.SortValues(test.input)
if !reflect.DeepEqual(test.input, test.expected) {
t.Errorf("Sort mismatch:\n %v != %v", test.input, test.expected)
}
}
}

View File

@ -898,33 +898,6 @@ func TestDump(t *testing.T) {
}
}
func TestSortValues(t *testing.T) {
v := reflect.ValueOf
a := v("a")
b := v("b")
c := v("c")
tests := []struct {
input []reflect.Value
expected []reflect.Value
}{
{[]reflect.Value{v(2), v(1), v(3)},
[]reflect.Value{v(1), v(2), v(3)}},
{[]reflect.Value{v(2.), v(1.), v(3.)},
[]reflect.Value{v(1.), v(2.), v(3.)}},
{[]reflect.Value{v(false), v(true), v(false)},
[]reflect.Value{v(false), v(false), v(true)}},
{[]reflect.Value{b, a, c},
[]reflect.Value{a, b, c}},
}
for _, test := range tests {
spew.SortValues(test.input)
if !reflect.DeepEqual(test.input, test.expected) {
t.Errorf("Sort mismatch:\n %v != %v", test.input, test.expected)
}
}
}
func TestDumpSortedKeys(t *testing.T) {
cfg := spew.ConfigState{SortKeys: true}
s := cfg.Sdump(map[int]string{1: "1", 3: "3", 2: "2"})