-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtester.sh
More file actions
112 lines (104 loc) · 3.38 KB
/
tester.sh
File metadata and controls
112 lines (104 loc) · 3.38 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/bin/sh
# **************************************************************************** #
# #
# :::::::: #
# tester.sh :+: :+: #
# +:+ #
# By: ngerrets <ngerrets@student.codam.nl> +#+ #
# +#+ #
# Created: 2021/09/20 15:51:42 by ngerrets #+# #+# #
# Updated: 2021/09/20 17:26:41 by ngerrets ######## odam.nl #
# #
# **************************************************************************** #
#
# Credits for the "args.py" script goes to student mraasvel
#
# For default tests
f() {
INSTRUCTIONS=$(./push_swap $1);
if [ -z "$INSTRUCTIONS" ]
then
echo "$INSTRUCTIONS\c" | ./checker_Mac $1 | tr -d '\n';
else
echo "$INSTRUCTIONS" | ./checker_Mac $1 | tr -d '\n';
fi
echo " " | tr -d '\n';
# echo "$INSTRUCTIONS" | ./checker $1 | tr -d '\n';
echo "$INSTRUCTIONS" | wc -l | tr -d '\n';
echo " " $1;
}
# For testing errors
f_error() {
echo " input: " "\""$1"\"";
echo " push_swap: " | tr -d '\n';
./push_swap $1 2>&1 | tr -d '\n';
echo "";
echo " checker: " | tr -d '\n';
#./checker $1 2>&1 | tr -d '\n';
echo ""
echo " checker_Mac: " | tr -d '\n';
./checker_Mac $1 2>&1 | tr -d '\n';
echo "\n";
}
# tests but don't print the input stack
f_noprint() {
INSTRUCTIONS=$(./push_swap $1);
if [ -z "$INSTRUCTIONS" ]
then
echo "$INSTRUCTIONS\c" | ./checker_Mac $1 | tr -d '\n';
else
echo "$INSTRUCTIONS" | ./checker_Mac $1 | tr -d '\n';
fi
echo " " | tr -d '\n';
# echo "$INSTRUCTIONS" | ./checker $1 | tr -d '\n';
echo "$INSTRUCTIONS" | wc -l | tr -d '\n';
echo " NOT PRINTED";
}
echo "42: checker: count: permutation:"
echo "\nOne"
f "42"
echo "\nTwo"
f "0 1"
f "1 0"
echo "\nThree:"
f "0 1 2"
f "2 1 0"
f "1 2 0"
for i in {1..7}; do f "$(python3 args.py 3)"; done;
echo "\nFour:"
for i in {1..3}; do f "$(python3 args.py 4)"; done;
echo "\nFive:"
for i in {1..10}; do f "$(python3 args.py 5)"; done;
echo "\nSix:"
for i in {1..3}; do f "$(python3 args.py 6)"; done;
echo "\nSeven:"
for i in {1..3}; do f "$(python3 args.py 7)"; done;
echo "\nEight:"
for i in {1..3}; do f "$(python3 args.py 8)"; done;
echo "\nNine:"
for i in {1..3}; do f "$(python3 args.py 9)"; done;
echo "\nTen:"
for i in {1..3}; do f "$(python3 args.py 10)"; done;
echo "\nTwenty:"
for i in {1..3}; do f "$(python3 args.py 20)"; done;
echo "\nFivety:"
for i in {1..3}; do f_noprint "$(python3 args.py 50)"; done;
echo "\nHundred:"
for i in {1..10}; do f_noprint "$(python3 args.py 100)"; done;
echo "\nFive hundred:"
for i in {1..10}; do f_noprint "$(python3 args.py 500)"; done;
echo "\nERROR CHECK:\n"
f_error "-835770774378 9 0"
f_error "7885802848"
f_error "732323733777547573578903747875737403147078026"
f_error ""
f_error "9 8 7 6 5 4 3 2 1 9 10 11"
f_error "a b c d e f g"
f_error "-2147483648 67 1 4"
echo "\nExtra Tests:"
echo "Thousand:"
for i in {1..3}; do f_noprint "$(python3 args.py 1000)"; done;
echo "\nTwo Thousand Five Hundred:"
f_noprint "$(python3 args.py 2500)";
echo "\nFive Thousand"
f_noprint "$(python3 args.py 5000)";