File: test-sort.sh

package info (click to toggle)
bashdb 4.0.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 4,820 kB
  • ctags: 942
  • sloc: sh: 10,581; lisp: 885; makefile: 449; ansic: 325
file content (60 lines) | stat: -rwxr-xr-x 1,202 bytes parent folder | download
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