test.sh (3426B)
1 #!/bin/sh 2 3 strtest() 4 { 5 if ! test "$2" = "$3" 6 then 7 printf 'FAIL: %s: %s != %s\n' "$1" "$2" "$3" 8 fi 9 } 10 11 strtest range_man "0.20000000000000001 12 0.40000000000000002 13 0.60000000000000009 14 0.80000000000000004" "$(./range -be -N 4)" 15 strtest range_man "1 2 3" "$(./range -d' ' -N 3 1 3)" 16 strtest range_man "1 17 10 18 100" "$(./range -l -N 3 0 2)" 19 strtest range_man "-2 20 -1.5 21 -1" "$(./range -N 3 -- -2 -1)" 22 strtest range "0 23 0.1111111111111111 24 0.22222222222222221 25 0.33333333333333331 26 0.44444444444444442 27 0.55555555555555558 28 0.66666666666666663 29 0.77777777777777768 30 0.88888888888888884 31 1" "$(./range)" 32 strtest range "0 0.33333333333333331 0.66666666666666663 1" "$(./range -n -d' ' -N 4)" 33 strtest range "0 0.33 0.67 1" "$(./range -n -p 2 -d' ' -N 4)" 34 strtest range "0.25 0.5 0.75 1" "$(./range -b -p 2 -d' ' -N 4)" 35 strtest range "0 0.25 0.5 0.75" "$(./range -e -p 2 -d' ' -N 4)" 36 strtest range_man "0 37 0.33333333333333331 38 0.66666666666666663 39 1" "$(./range -N 4)" 40 41 strtest max_man "4 5 6" "$(printf '1\t2\t3\n4\t5\t6\n' | ./max)" 42 strtest max "4,5,6" "$(printf '1\t2\t3\n4\t5\t6\n' | ./max -d',')" 43 strtest max "1" "$(./range | ./max)" 44 strtest max "0.90909090909090917" "$(./range -be | ./max)" 45 strtest max "0.909" "$(./range -be | ./max -p 3 )" 46 47 strtest mean_man "2.5 3.5 4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./mean)" 48 strtest mean "2.5,3.5,4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./mean -d',')" 49 strtest mean "0.5" "$(./range | ./mean)" 50 strtest mean "0.5" "$(./range -be | ./mean)" 51 strtest mean "0.5" "$(./range -be | ./mean -p 3 )" 52 53 strtest min_man "1 2 3" "$(printf '1\t2\t3\n4\t5\t6\n' | ./min)" 54 strtest min "1,2,3" "$(printf '1\t2\t3\n4\t5\t6\n' | ./min -d',')" 55 strtest min "0" "$(./range | ./min)" 56 strtest min "0.090909090909090912" "$(./range -be | ./min)" 57 strtest min "0.0909" "$(./range -be | ./min -p 3 )" 58 59 strtest rangetest_man "0 60 1.25 61 1.40625 62 1.484375 63 1.494140625" "$(./rangetest './condfail @VAL@' 0.0 10.0 2>/dev/null)" 64 65 strtest rangetest_man "10 66 5 67 2.5 68 1.875 69 1.5625 70 1.5234375 71 1.50390625" "$(./rangetest './condfail @VAL@' 0.0 10.0 2>&1 >/dev/null)" 72 73 strtest stddev_man "2.1908902300206643" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stddev)" 74 strtest stddev_man "2" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stddev -u)" 75 strtest stddev "2.2" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stddev -p 2)" 76 strtest stddev "2.1213203435596424 2.1213203435596424 2.1213203435596424" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stddev)" 77 strtest stddev "2.1 2.1 2.1" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stddev -p 2)" 78 strtest stddev "2.1,2.1,2.1" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stddev -p 2 -d',' )" 79 80 strtest stdvar_man "4.7999999999999998" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stdvar)" 81 strtest stdvar_man "4" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stdvar -u)" 82 strtest stdvar "4.8" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stdvar -p 2)" 83 strtest stdvar "4.5 4.5 4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stdvar)" 84 strtest stdvar "4.5 4.5 4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stdvar -p 2)" 85 strtest stdvar "4.5,4.5,4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stdvar -p 2 -d',' )" 86 87 strtest sum_man "5 7 9" "$(printf '1\t2\t3\n4\t5\t6\n' | ./sum)" 88 strtest sum "48" "$(printf '10\n8\n10\n8\n8\n4\n' | ./sum)" 89 strtest sum "5e+01" "$(printf '10\n8\n10\n8\n8\n4\n' | ./sum -p 1)" 90 strtest sum "5 7 9" "$(printf '1\t2\t3\n4\t5\t6\n' | ./sum)" 91 strtest sum "5,7,9" "$(printf '1\t2\t3\n4\t5\t6\n' | ./sum -d',' )" 92 93 strtest transpose_man "1 4 94 2 5 95 3 6" "$(printf '1\t2\t3\n4\t5\t6\n' | ./transpose)"