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