aboutsummaryrefslogtreecommitdiff
path: root/test/generate_test_data.sh
diff options
context:
space:
mode:
authorAndreas Kapp Lindquist <andkaplin05@gmail.com>2025-10-23 17:56:42 +0200
committermithe24 <mithe24@student.sdu.dk>2025-10-29 13:49:57 +0100
commit90843f07558f8b27d68036740c1e4697ed4e0b51 (patch)
tree8239fa419113b4f6ab415488f6cb55ed185b0952 /test/generate_test_data.sh
parent2bb91575a5a5d033e97c2bb329f18c83eaaaa991 (diff)
downloadsorter-90843f07558f8b27d68036740c1e4697ed4e0b51.tar.gz
sorter-90843f07558f8b27d68036740c1e4697ed4e0b51.zip
test(generate_test_data.sh): moved to test, and added sorted and reverse sorted files
Diffstat (limited to 'test/generate_test_data.sh')
-rwxr-xr-xtest/generate_test_data.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/generate_test_data.sh b/test/generate_test_data.sh
new file mode 100755
index 0000000..b71eb30
--- /dev/null
+++ b/test/generate_test_data.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# Note generating test data
+# may take a while
+
+# using 'printf' instead of 'echo'
+# due to performance issues
+random_file() {
+{
+ for ((i=1; i<=$2; i++)); do
+ printf "%d\t%d\n" $((RANDOM)) $((RANDOM))
+ done
+} > "$1"
+}
+
+sorted_file() {
+{
+ for ((i=1; i<=$2; i++)); do
+ printf "%d\t%d\n" $i $i
+ done
+} > "$1"
+}
+
+reverse_file() {
+{
+ for ((i=$2; i>=1; i--)); do
+ printf "%d\t%d\n" $i $i
+ done
+} > "$1"
+}
+
+mkdir -p data
+sizes=(10000 50000 100000) # 500000 1000000 5000000)
+types=("random" "sorted" "reverse")
+
+for data_type in "${types[@]}"; do
+ for size in "${sizes[@]}"; do
+ for run in {1..3}; do
+ outfile="data/${data_type}_${size}_${run}.tsv" # '.tsv' stands for
+ echo "Generating $outfile ..." # tab seperated values
+
+ if [ "$data_type" = "sorted" ]; then
+ sorted_file $outfile $size
+ elif [ "$data_type" = "reverse" ]; then
+ reverse_file $outfile $size
+ else
+ random_file $outfile $size
+ fi
+ done
+ done
+done
+
+echo "All random data files gernated in ./data/"