Orchestrata Ultimate › Tests › Reference › scripts › test_ast_gen_skeleton
Tests reference — tests/scripts/test_ast_gen_skeleton.py
Module of tests/scripts, split out because the directory page would be too large.
Prose pending.
tests/scripts/test_ast_gen_skeleton.py
source · 90 tests · 1589 lines
Tests for the AST tool's
gen-skeletongenerator — the build-factory
| Kind | Name | Line | Description |
|---|---|---|---|
| class | TestProtocolEmitter |
155 | |
| method | TestProtocolEmitter.test_emits_runtime_checkable_protocol |
156 | |
| method | TestProtocolEmitter.test_class_level_traces_decorator |
166 | |
| method | TestProtocolEmitter.test_method_bodies_are_ellipsis |
174 | |
| method | TestProtocolEmitter.test_field_without_type_falls_back_to_any |
182 | |
| class | TestParserInternals |
202 | |
| method | TestParserInternals.test_untyped_param_parses_with_no_type_annotation |
203 | |
| method | TestParserInternals.test_skel_field_is_public |
216 | |
| method | TestParserInternals.test_skel_method_is_public |
223 | |
| class | TestDataclassEmitter |
236 | |
| method | TestDataclassEmitter.test_emits_typed_dataclass_fields |
237 | |
| method | TestDataclassEmitter.test_no_traces_decorator_when_no_pragma |
247 | |
| method | TestDataclassEmitter.test_empty_dataclass_gets_a_flagged_todo_not_a_silent_empty_body |
255 | |
| method | TestDataclassEmitter.test_mutable_default_uses_field_default_factory |
268 | |
| method | TestDataclassEmitter.test_untyped_field_falls_back_to_any |
284 | |
| class | TestEnumEmitter |
304 | |
| method | TestEnumEmitter.test_emits_strenum_with_lowercased_values |
305 | |
| method | TestEnumEmitter.test_empty_enum_emits_ellipsis |
315 | |
| class | TestToolEmitterComposition |
334 | |
| method | TestToolEmitterComposition.test_class_implements_tool_protocol |
335 | |
| method | TestToolEmitterComposition.test_constructor_injects_public_and_private_fields |
342 | |
| method | TestToolEmitterComposition.test_constructor_injects_tracer_with_default |
349 | |
| method | TestToolEmitterComposition.test_class_level_traces_decorator_stamped |
358 | |
| method | TestToolEmitterComposition.test_unresolved_type_reference_flagged_not_guessed |
366 | |
| class | TestToolEmitterCommandPattern |
378 | |
| method | TestToolEmitterCommandPattern.test_execute_is_async_and_command_boilerplate |
379 | |
| method | TestToolEmitterCommandPattern.test_execute_validates_args_type |
391 | |
| method | TestToolEmitterCommandPattern.test_execute_delegates_to_matching_leaf_by_name |
397 | |
| method | TestToolEmitterCommandPattern.test_leaf_method_raises_not_implemented_with_exact_message |
406 | |
| method | TestToolEmitterCommandPattern.test_execute_without_matching_leaf_raises_inline |
415 | |
| method | TestToolEmitterCommandPattern.test_generated_module_is_valid_python |
424 | |
| class | TestToolEmitterPatternRoles |
435 | |
| method | TestToolEmitterPatternRoles.test_accessor_role_returns_matching_composed_field |
436 | |
| method | TestToolEmitterPatternRoles.test_factory_role_without_deterministic_wiring_falls_back_to_leaf |
444 | |
| method | TestToolEmitterPatternRoles.test_method_level_traces_override |
453 | |
| method | TestToolEmitterPatternRoles.test_accessor_role_without_matching_field_falls_back_to_leaf |
460 | |
| method | TestToolEmitterPatternRoles.test_delegate_leaf_ignores_non_dataclass_args_type |
483 | |
| method | TestToolEmitterPatternRoles.test_tool_with_no_declared_fields_gets_tracer_only_init |
507 | |
| class | TestTraceMap |
531 | |
| method | TestTraceMap.test_class_level_req_maps_to_class_with_no_method |
532 | |
| method | TestTraceMap.test_method_level_override_maps_to_specific_method |
544 | |
| method | TestTraceMap.test_trace_map_is_json_serializable |
556 | |
| class | TestRealizationArrow |
567 | |
| method | TestRealizationArrow.test_a_realizes_b_means_a_extends_b |
568 | |
| class | TestUnsupportedStereotype |
580 | |
| method | TestUnsupportedStereotype.test_unknown_stereotype_raises_value_error |
581 | |
| method | TestUnsupportedStereotype.test_empty_diagram_raises_value_error |
597 | |
| class | TestCliGenSkeleton |
617 | |
| method | TestCliGenSkeleton.test_cli_stdout_emits_code |
618 | |
| method | TestCliGenSkeleton.test_cli_output_and_trace_map_flags_write_files |
626 | |
| method | TestCliGenSkeleton.test_cli_missing_diagram_file_errors |
647 | |
| method | TestCliGenSkeleton.test_cli_appears_in_help |
652 | |
| class | TestSelfVerifyCheckTraces |
667 | |
| method | TestSelfVerifyCheckTraces.test_generated_sample_has_no_malformed_traces |
668 | |
| class | TestPlainClassEmitter |
683 | |
| method | TestPlainClassEmitter.test_emits_plain_class_with_composed_init |
684 | |
| method | TestPlainClassEmitter.test_method_is_a_leaf_stub |
694 | |
| method | TestPlainClassEmitter.test_class_level_traces_decorator |
703 | |
| class | TestRealSpec072Contract |
721 | |
| method | TestRealSpec072Contract.test_runs_end_to_end_without_crashing |
726 | |
| method | TestRealSpec072Contract.test_reuse_list_resolves_real_cross_package_imports |
738 | Fix 5: the contract's own %% REUSE (...): Name (module.path) |
| method | TestRealSpec072Contract.test_unresolved_note_still_covers_types_the_reuse_list_omits |
758 | Fix 5 resolves what the REUSE list covers; types it genuinely |
| method | TestRealSpec072Contract.test_tracer_default_is_a_real_classmethod_not_a_string_match |
785 | Fix 1 (widened factory heuristic): Tracer.default() Tracer has |
| method | TestRealSpec072Contract.test_tool_search_tool_constructs_without_attribute_error |
809 | Fix 3: ToolSearchTool realizes BaseTool (a REAL class whose |
| class | TestBracketDecorators |
834 | |
| method | TestBracketDecorators.test_staticmethod_bracket_emits_no_self_no_cls |
835 | |
| method | TestBracketDecorators.test_classmethod_bracket_emits_cls_first_param |
849 | |
| method | TestBracketDecorators.test_property_bracket_emits_property_decorator |
863 | |
| method | TestBracketDecorators.test_abstractmethod_bracket_emits_decorator_and_import |
877 | |
| method | TestBracketDecorators.test_property_and_abstractmethod_compose_in_correct_order |
892 | Real Python requires @property OUTER, @abstractmethod |
| method | TestBracketDecorators.test_protocol_methods_honor_bracket_decorators_too |
912 | Fix 1 applies to ALL emitters, including <<Protocol>>. |
| class | TestWidenedFactoryHeuristic |
934 | |
| method | TestWidenedFactoryHeuristic.test_bare_create_self_returning_is_classmethod |
935 | |
| method | TestWidenedFactoryHeuristic.test_bare_from_prefixed_self_returning_is_classmethod |
949 | |
| method | TestWidenedFactoryHeuristic.test_create_not_self_returning_stays_a_plain_method |
963 | The widened heuristic is gated on returning the CLASS'S OWN |
| class | TestPartialSuccessAndNoStereotypeFallback |
988 | |
| method | TestPartialSuccessAndNoStereotypeFallback.test_one_unsupported_class_is_skipped_others_still_generate |
989 | |
| method | TestPartialSuccessAndNoStereotypeFallback.test_all_classes_skipped_still_raises |
1011 | |
| method | TestPartialSuccessAndNoStereotypeFallback.test_no_stereotype_class_warns_and_falls_back_to_plain_class |
1033 | |
| method | TestPartialSuccessAndNoStereotypeFallback.test_spec021_ontology_generates_all_fifteen_classes |
1049 | Acceptance (fix 2): spec-021-ontology.mmd has bare (no-stereotype) |
| class | TestMethodParamDefaults |
1075 | |
| method | TestMethodParamDefaults.test_split_on_first_eq_ignores_nested_brackets |
1076 | |
| method | TestMethodParamDefaults.test_parse_params_skips_blank_tokens_and_captures_default |
1081 | |
| method | TestMethodParamDefaults.test_render_param_emits_the_default |
1089 | |
| method | TestMethodParamDefaults.test_method_param_default_round_trips_into_generated_signature |
1094 | |
| class | TestEnumExplicitValues |
1114 | |
| method | TestEnumExplicitValues.test_explicit_value_is_honored |
1115 | |
| method | TestEnumExplicitValues.test_no_default_falls_back_to_lowercased_name |
1131 | |
| method | TestEnumExplicitValues.test_mixed_explicit_and_default_values |
1144 | |
| class | TestExtendPragma |
1166 | |
| method | TestExtendPragma.test_extend_class_is_not_generated |
1167 | |
| method | TestExtendPragma.test_extend_class_gets_a_mode_marker_in_trace_map |
1187 | |
| method | TestExtendPragma.test_spec014_resurrection_no_longer_duplicates_pipeline_kernel_client |
1209 | Acceptance (fix 6): the real contract's own %% extend pragma |
| class | TestNamespaceRouting |
1233 | |
| method | TestNamespaceRouting.test_empty_diagram_raises_value_error |
1254 | |
| method | TestNamespaceRouting.test_namespace_group_with_only_extend_classes_is_skipped |
1259 | A namespace whose only member is mode: extend (fix 6) has NO |
| method | TestNamespaceRouting.test_classes_route_to_their_namespace_module |
1281 | |
| method | TestNamespaceRouting.test_trace_map_per_group_uses_the_namespace_output_file |
1296 | |
| method | TestNamespaceRouting.test_cli_writes_one_file_per_namespace |
1313 | |
| method | TestNamespaceRouting.test_cli_namespace_with_output_and_trace_map_writes_combined_map |
1327 | |
| method | TestNamespaceRouting.test_cli_namespace_without_output_prints_every_module_to_stdout |
1366 | |
| class | TestLeafmapEmission |
1387 | |
| method | TestLeafmapEmission.test_leafmap_spans_point_at_the_implement_comment_through_the_raise |
1388 | |
| method | TestLeafmapEmission.test_leafmap_covers_tool_execute_delegate_region |
1398 | |
| method | TestLeafmapEmission.test_no_leaf_spans_for_fully_generated_accessor |
1407 | A deterministic accessor has NO leaf region — it's fully |
| method | TestLeafmapEmission.test_cli_writes_leafmap_json_alongside_output |
1415 | |
| class | TestRealContractRoundTrip |
1435 | |
| method | TestRealContractRoundTrip.test_generate_parse_execute_construct_and_leaf_not_implemented |
1443 | |
| class | TestTildeGenerics |
1504 | |
| method | TestTildeGenerics.test_convert_simple_and_nested_tildes |
1505 | |
| method | TestTildeGenerics.test_class_name_generics_emit_pep695_header |
1517 | |
| method | TestTildeGenerics.test_declared_init_suppresses_composed_init |
1530 | A contract that DECLARES init owns construction: exactly ONE |
| method | TestTildeGenerics.test_declared_init_class_passes_gate0 |
1543 | |
| method | TestTildeGenerics.test_gate2_counts_declared_init_in_denominator |
1564 | 6 leaves / 6 methods (incl. the declared init) = 100%, not |