1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#!/bin/bash
# -*- shell-script -*-
test_sort()
{
do_one() {
sort_list 0 ${#list[@]}-1
assertEquals "0" "$?"
typeset -i i
for ((i=0 ; i<${#list[@]}; i++)) ; do
assertEquals "${check[$i]}" "${list[$i]}"
done
}
typeset -a list
# Some boundary cases first
list=()
sort_list 0 0
assertEquals "2" "$?"
assertEquals "0" "${#list[@]}"
sort_list 1 1
assertNotEquals "0" "$?"
typeset -a check
list=('one'); check=('one')
do_one
list=('one' 'two' 'three')
check=('one' 'three' 'two')
do_one
list=(4 3 2 1)
check=(1 2 3 4)
do_one
list=(' 4' '3 ' '2' '1')
if (( BASH_VERSINFO[0] > 4 || \
(BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 1) )) ; then
check=('1' '2' '3 ' ' 4')
else
check=(' 4' '1' '2' '3 ')
fi
do_one
sort_list 0 10
assertNotEquals "0" "$?"
}
if [ '/src/external-vcs/bashdb' = '' ] ; then
echo "Something is wrong abs_top_srcdir is not set."
exit 1
fi
abs_top_srcdir=/src/external-vcs/bashdb
# Make sure @abs_top_srcr@ has a trailing slash
abs_top_srcdir=${abs_top_srcdir%%/}/
. $abs_top_srcdir/lib/sort.sh
# load shunit2
srcdir=.
srcdir=${srcdir}/
. ${srcdir}/shunit2
|