summaryrefslogtreecommitdiff
path: root/sort/sort_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'sort/sort_test.go')
-rw-r--r--sort/sort_test.go29
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)