-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
executable file
·45 lines (42 loc) · 1.36 KB
/
test.py
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
#!/Users/sdagger/.brew/bin/python3
import sys
import random
import os
# colors
LIGHT_MAGENTA = "\x1b[95m"
END = "\x1b[0m"
# function to parse flags
def parse_flags(args):
flags = []
for i in range(4, len(args)):
flags.append(args[i])
return flags
if __name__ == "__main__":
if len(sys.argv) >= 4:
try:
start = int(sys.argv[1])
end = int(sys.argv[2])
count = int(sys.argv[3])
if start > end:
step = -1
elif start == end:
print("start and end can't be equal")
exit()
else:
step = 1
arr_nums = [str(i) for i in range(start, end, step)]
flags = parse_flags(sys.argv)
if len(flags) > 0:
arr_nums += flags
for i in range(count):
print(f"{LIGHT_MAGENTA}TEST {i}{END}\n")
# print("Test " + str(i))
random.shuffle(arr_nums)
arr = " ".join(list(arr_nums))
arr = '"' + arr + '"'
os.system("./push_swap " + arr + " | ./checker " + arr)
print()
except:
print("Usage: startnum endnum countoftests [flags for push_swap and checker]")
else:
print("Usage: startnum endnum countoftests [flags for push_swap and checker]")