hydra.test.transform module

Transform test cases for code generation, filtering to tests that can be compiled to target languages.

hydra.test.transform.add_generation_prefix(ns_: ModuleName) ModuleName

Add generation namespace prefix.

hydra.test.transform.build_convert_case_call(from_conv: CaseConvention, to_conv: CaseConvention, input_: str) Term

Build a Term representing a convertCase function call.

hydra.test.transform.build_topological_sort_call(adj_list: Sequence[tuple[int, Sequence[int]]]) Term

Build a Term representing a topologicalSort function call.

hydra.test.transform.build_topological_sort_s_c_c_call(adj_list: Sequence[tuple[int, Sequence[int]]]) Term

Build a Term representing a topologicalSortComponents function call.

hydra.test.transform.collect_test_cases(tg: TestGroup) Sequence[TestCaseWithMetadata]

Collect all test cases from a test group (flattening hierarchy).

hydra.test.transform.encode_adjacency_list(pairs: Sequence[tuple[int, Sequence[int]]]) Term

Encode an adjacency list as a Term.

hydra.test.transform.encode_case_convention(conv: CaseConvention) Term

Encode CaseConvention as a Term (unit variant).

hydra.test.transform.encode_either_list_list(e: object) Term

Encode Either [[Int]] [Int] as a Term.

hydra.test.transform.encode_int(n: int) Term

Encode an Int as a Term.

hydra.test.transform.encode_int_list(ints: Sequence[int]) Term

Encode [Int] as a Term.

hydra.test.transform.encode_list_list(lists: Sequence[Sequence[int]]) Term

Encode [[Int]] as a Term.

hydra.test.transform.transform_module(m: Module) Module

Transform module with generation namespace.

hydra.test.transform.transform_test_case(tcm: T0) object

Pass through test cases unchanged.

hydra.test.transform.transform_to_compiled_tests(tg: TestGroup) object

Transform test group hierarchy to only include delegated evaluation tests.