37 lines
877 B
Python
37 lines
877 B
Python
import a1
|
|
|
|
import json, pprint, random
|
|
|
|
# Enums, never heard of her
|
|
class PRIVOUS_TASK: pass
|
|
class EXACT: pass
|
|
|
|
TESTS = (
|
|
(
|
|
3, # Task
|
|
5, # Number of tests
|
|
a1.determine_cost_to_pump, # The function to test
|
|
( # The args and their ranges
|
|
("gen_power", (float, 100, 600, 50)), # Type, min, max, inc
|
|
("pumping_time", (float, 1, 10, 1)),
|
|
("off_peak_tariff", (float, 0.01, 0.1, 0.01)),
|
|
)
|
|
),
|
|
)
|
|
|
|
for task, iterations, function, args in TESTS:
|
|
print(f'\nTask {task}')
|
|
|
|
args_used = []
|
|
results = []
|
|
for i in range(iterations):
|
|
this_arg = {}
|
|
for arg, vals in args:
|
|
this_arg[arg] = random.randrange(vals[1], vals[2], vals[3])
|
|
|
|
args_used.append(this_arg)
|
|
results.append(function(*args_used[-1]))
|
|
|
|
pprint(args_used)
|
|
pprint(results)
|
|
|