21 lines
481 B
Python
21 lines
481 B
Python
from itertools import product
|
|
|
|
|
|
def get_permutations(spec):
|
|
param_list = []
|
|
for v in product(*spec.values()):
|
|
param_list.append(dict(zip(spec, v)))
|
|
return param_list
|
|
|
|
|
|
def get_permutation_class_name(cls, num: int, params: dict) -> str:
|
|
class_name = cls.__name__
|
|
|
|
for val in params.values():
|
|
val_str = str(val)
|
|
if "object at" in val_str:
|
|
val_str = type(val).__name__
|
|
class_name += f"_{val_str}"
|
|
|
|
return class_name
|