summaryrefslogtreecommitdiff
path: root/spew/common_test.go
diff options
context:
space:
mode:
authorDave Collins <[email protected]>2013-11-14 21:44:13 -0600
committerDave Collins <[email protected]>2013-11-14 21:44:13 -0600
commitfab1d2b55fe8dca5eb8ef326de8284cbdd5ac259 (patch)
treee60235d41eae58f96eb594b5654dd4e2725cd3db /spew/common_test.go
parentde6d1a24a06fb32fa945085463fcc922dfadf152 (diff)
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.
Diffstat (limited to 'spew/common_test.go')
-rw-r--r--spew/common_test.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/spew/common_test.go b/spew/common_test.go
index 0743ff5..f3404e7 100644
--- a/spew/common_test.go
+++ b/spew/common_test.go
@@ -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)
+ }
+ }
+}