#!/bin/bash

# This file is here to automate combined tests. 

key_gen_method=1

echo "Please insert what would you like to test (see comments for details)"

read what_to_test

case $what_to_test in

    0 )

# # # # # # # # # # # # # # # # # # # # # # # # #
# TESTING QUICK QUEUE FOR DIFFERENT ARRAY SIZES #
# # # # # # # # # # # # # # # # # # # # # # # # #

        echo Insert number of inserts and deletes:

        read inserts
        read deletes

        echo "Insert CycleQueue (array) max size"

        read max_size

        for ((size=3; size <= max_size ; size++))  # Double parentheses, and "LIMIT" with no "$".
          do
          echo 
          echo "Time of $inserts inserts and $deletes deletes with CycleQueue size $size :"
          echo "$size 1 $inserts $deletes" | ./test_opt_quick_que
          echo " Let's compare! HeapQueue does the same in:"
          echo "1 $inserts $deletes" | ./test_opt_heap_que
        done
        ;;
    1 )

# # # # # # # # # # # # # # # # # # # # # #
# TESTING QUICK QUEUE FOR ONE ARRAY SIZE  #
# # # # # # # # # # # # # # # # # # # # # #

        echo Insert number of inserts and deletes:

        read inserts
        read deletes

        echo "Insert CycleQueue (array) size"

        read size

        echo 
        echo "Time of $inserts inserts and $deletes deletes with CycleQueue size $size :"
        echo "$size 1 $inserts $deletes" | ./test_opt_quick_que
        echo " Let's compare! HeapQueue does the same in:"
        echo "1 $inserts $deletes" | ./test_opt_heap_que

        ;;
    2 )

# # # # # # # # # # # # # # # # # # # # # # # # # # #
# TESTING LEFT TREE UNION FOR DIFFERENT QUEUE SIZES #
# # # # # # # # # # # # # # # # # # # # # # # # # # #

        echo Insert sizes of queues to be union-ed:

        read size_1
        read size_2

        qqa_size=7

        echo 
        echo "Time of union with queue (Left Tree) sizes $size_1 and $size_2 :"
        echo "2 $size_1 $size_2" | ./test_opt_left_tree
        echo " Let's compare! QuickQueue with array of $qqa_size does the same in:"
        echo "$qqa_size 2 $size_1 $size_2" | ./test_opt_quick_que

        ;;
    * )
        echo Wrong parameter

        ;;
esac

exit 0