From 8f291992bdd98bd7ca6eefe084790e56d00833a8 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 17 Jul 2020 09:03:52 +0100 Subject: fix shell sort --- sort/sort_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'sort') diff --git a/sort/sort_test.go b/sort/sort_test.go index 9593cde..00f056a 100644 --- a/sort/sort_test.go +++ b/sort/sort_test.go @@ -33,6 +33,12 @@ func TestShellSort(t *testing.T) { } } +func TestShuffleSort(t *testing.T) { + for i := 1; i <= maxLength; i *= 10 { + testShuffle(Shuffle, i, t) + } +} + func BenchmarkInsertionSort(b *testing.B) { for i := 1; i <= maxLength; i *= 10 { benchmark(Insertion, i, b) @@ -63,6 +69,17 @@ func test(sort sortAlgorithm, length int, t *testing.T) { t.Run(fmt.Sprintf("%d", length), cb) } +func testShuffle(sort sortAlgorithm, length int, t *testing.T) { + cb := func(t *testing.T) { + t.Parallel() + a := sort(ds.SortedIntegers(length)) + if Sorted(a) { + t.Errorf("Array sorted: %v", a) + } + } + t.Run(fmt.Sprintf("%d", length), cb) +} + func benchmark(sort sortAlgorithm, length int, b *testing.B) { cb := func(b *testing.B) { a := makeIntegers(length, length) -- cgit v1.2.3