root / pobysoC-4.0 / src / test-pobyso-is-monomial.sh @ 287
Historique | Voir | Annoter | Télécharger (2,58 ko)
1 | 138 | storres | #! /bin/sh |
---|---|---|---|
2 | 138 | storres | # |
3 | 138 | storres | # |
4 | 138 | storres | TEST_BIN=./test-pobyso-is-monomial |
5 | 138 | storres | |
6 | 138 | storres | echo |
7 | 138 | storres | ## Functions |
8 | 138 | storres | ok_if_fail() { |
9 | 138 | storres | echo "$@" |
10 | 138 | storres | eval "$TEST_BIN $ARGUMENTS" |
11 | 138 | storres | if [ $? -eq 0 ] ; then |
12 | 138 | storres | echo "Succeeded (but should not have) for $ARGUMENTS" |
13 | 138 | storres | exit 1 |
14 | 138 | storres | fi |
15 | 138 | storres | echo "Correctly failing$WHY." |
16 | 138 | storres | echo |
17 | 138 | storres | } |
18 | 138 | storres | ## |
19 | 138 | storres | ok_if_ok() { |
20 | 138 | storres | echo "$@" |
21 | 138 | storres | eval "$TEST_BIN $ARGUMENTS" |
22 | 138 | storres | if [ $? -ne 0 ] ; then |
23 | 138 | storres | echo "Failed for $ARGUMENTS" |
24 | 138 | storres | exit 1 |
25 | 138 | storres | fi |
26 | 138 | storres | echo |
27 | 138 | storres | } |
28 | 138 | storres | ## |
29 | 138 | storres | ARGUMENTS="\"x\"" |
30 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
31 | 138 | storres | |
32 | 138 | storres | ARGUMENTS="\"1\"" |
33 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
34 | 138 | storres | |
35 | 138 | storres | ARGUMENTS="\"-1\"" |
36 | 138 | storres | WHY=" ($ARGUMENTS is not a monomial)" |
37 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
38 | 138 | storres | |
39 | 138 | storres | ARGUMENTS="\"2\"" |
40 | 138 | storres | WHY=" ($ARGUMENTS is not a monomial)" |
41 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
42 | 138 | storres | |
43 | 138 | storres | ARGUMENTS="\"(x^0)\"" |
44 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
45 | 138 | storres | |
46 | 138 | storres | ARGUMENTS="\"(x^63)\"" |
47 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
48 | 138 | storres | |
49 | 138 | storres | ARGUMENTS="\"x^-2\"" |
50 | 138 | storres | WHY=" ($ARGUMENTS is has negative integer exponent)" |
51 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
52 | 138 | storres | |
53 | 138 | storres | ARGUMENTS="\"x^((2^63)-2)\"" |
54 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
55 | 138 | storres | |
56 | 138 | storres | ARGUMENTS="\"x^((2^63)-1)\"" |
57 | 138 | storres | WHY=" (\"2^63-1\" is a too large integer)" |
58 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
59 | 138 | storres | |
60 | 138 | storres | ARGUMENTS="\"cos(pi)\"" |
61 | 138 | storres | WHY=" ($ARGUMENTS is a negative integer)" |
62 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
63 | 138 | storres | |
64 | 138 | storres | ARGUMENTS="\"x^sin(pi)\"" |
65 | 138 | storres | #WHY=" ($ARGUMENTS is not an integer)" |
66 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
67 | 138 | storres | |
68 | 138 | storres | ## |
69 | 138 | storres | ARGUMENTS="\"x^1.1\"" |
70 | 138 | storres | WHY=" ($ARGUMENTS is not an integer)" |
71 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
72 | 138 | storres | |
73 | 138 | storres | ARGUMENTS="\"x^ceil(1.1)\"" |
74 | 138 | storres | WHY=" ($ARGUMENTS is not an integer)" |
75 | 138 | storres | ok_if_ok "Testing: $ARGUMENTS" |
76 | 138 | storres | |
77 | 138 | storres | ARGUMENTS="\"x^(2/3)\"" |
78 | 138 | storres | WHY=" ($ARGUMENTS is not an integer)" |
79 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
80 | 138 | storres | |
81 | 138 | storres | ARGUMENTS="\"-1.1\"" |
82 | 138 | storres | WHY=" ($ARGUMENTS is not a positive integer)" |
83 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
84 | 138 | storres | |
85 | 138 | storres | ARGUMENTS="\"x^floor(-1.1)\"" |
86 | 138 | storres | WHY=" (\"floor(-1.1)\" is not a positive integer)" |
87 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
88 | 138 | storres | |
89 | 138 | storres | ARGUMENTS="\"x+2\"" |
90 | 138 | storres | WHY=" ($ARGUMENTS is not a monomial)" |
91 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
92 | 138 | storres | |
93 | 138 | storres | ## |
94 | 138 | storres | ARGUMENTS="\"4-2*x+4*x^2\"" |
95 | 138 | storres | WHY=" (expression not a monomial)" |
96 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
97 | 138 | storres | |
98 | 138 | storres | ## |
99 | 138 | storres | ARGUMENTS="\"yx+\"" |
100 | 138 | storres | WHY=" ($ARGUMENTS not expression)" |
101 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
102 | 138 | storres | |
103 | 138 | storres | ## |
104 | 138 | storres | ARGUMENTS="\"1/0\"" |
105 | 138 | storres | WHY=" ($ARGUMENTS not a number)" |
106 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
107 | 138 | storres | |
108 | 138 | storres | ## |
109 | 138 | storres | ARGUMENTS="\"exp(1000000)\"" |
110 | 138 | storres | WHY=" ($ARGUMENTS is too large)" |
111 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
112 | 138 | storres | |
113 | 138 | storres | ARGUMENTS="\"-exp(1000000)\"" |
114 | 138 | storres | WHY=" ($ARGUMENTS is too small)" |
115 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
116 | 138 | storres | |
117 | 138 | storres | ARGUMENTS="\"+infty\"" |
118 | 138 | storres | WHY=" ($ARGUMENTS is infinity)" |
119 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
120 | 138 | storres | |
121 | 138 | storres | ARGUMENTS="\"infty\"" |
122 | 138 | storres | WHY=" ($ARGUMENTS is infinity)" |
123 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
124 | 138 | storres | |
125 | 138 | storres | ARGUMENTS="\"-infty\"" |
126 | 138 | storres | WHY=" ($ARGUMENTS is infinity)" |
127 | 138 | storres | ok_if_fail "Testing: $ARGUMENTS" |
128 | 138 | storres | |
129 | 138 | storres | ## |
130 | 138 | storres | echo "Tests terminated without error." |
131 | 138 | storres | echo |