diff options
Diffstat (limited to 'sort/sort_test.go')
| -rw-r--r-- | sort/sort_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sort/sort_test.go b/sort/sort_test.go index 59e0226..8415d7d 100644 --- a/sort/sort_test.go +++ b/sort/sort_test.go @@ -37,6 +37,23 @@ func TestMergeSort(t *testing.T) { for i := 1; i <= maxLength; i *= 10 { test(Merge, i, t) } + test(Merge, maxLength*2, t) +} + +func TestMerge2Sort(t *testing.T) { + t.Log("Parallel merge sort") + for i := 1; i <= maxLength; i *= 10 { + test(Merge2, i, t) + } + test(Merge2, maxLength*2, t) +} + +func TestMerge3Sort(t *testing.T) { + t.Log("Bottom-up merge sort") + for i := 1; i <= maxLength; i *= 10 { + test(Merge3, i, t) + } + test(Merge3, maxLength*2, t) } func TestShuffleSort(t *testing.T) { @@ -69,6 +86,18 @@ func BenchmarkMergeSort(b *testing.B) { } } +func BenchmarkMerge2Sort(b *testing.B) { + for i := 1; i <= maxLength; i *= 10 { + benchmark(Merge2, i, b) + } +} + +func BenchmarkMerge3Sort(b *testing.B) { + for i := 1; i <= maxLength; i *= 10 { + benchmark(Merge3, i, b) + } +} + func BenchmarkShuffleSort(b *testing.B) { for i := 1; i <= maxLength; i *= 10 { benchmark(Shuffle, i, b) |
