Skip to content

Agent KB_tests_p4

grisun0 edited this page Oct 16, 2026 · 20 revisions

Subsystem: tests (page 4 of 4)

Previous: KB_tests_p3.md

tests/test_refactorizer.py

  • Doc: Contract tests for the MonolithRefactorizer.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestMonolithRefactorizerContract (class, line 18) class TestMonolithRefactorizerContract(TestCase)
    • setUp (method, line 21) def setUp(self)
    • _make_symbol (method, line 25) def _make_symbol(self, name, kind, line)
    • _make_node (method, line 28) def _make_node(self, nid, symbols)
    • _make_edge (method, line 37) def _make_edge(self, src, tgt)
    • test_analyze_empty_graph_returns_empty (method, line 40) def test_analyze_empty_graph_returns_empty(self)
    • test_analyze_ignores_small_files (method, line 44) def test_analyze_ignores_small_files(self)
    • test_analyze_detects_large_file (method, line 50) def test_analyze_detects_large_file(self)
    • test_analyze_generates_extract_class_for_multiple_classes (method, line 59) def test_analyze_generates_extract_class_for_multiple_classes(self)
    • test_analyze_generates_extract_function_for_multiple_functions (method, line 74) def test_analyze_generates_extract_function_for_multiple_functions(self)
    • test_analyze_splits_file_with_many_symbols (method, line 89) def test_analyze_splits_file_with_many_symbols(self)
    • test_analyze_estimates_impact_from_resolved_edges (method, line 97) def test_analyze_estimates_impact_from_resolved_edges(self)
    • test_generate_script_contains_shebang (method, line 109) def test_generate_script_contains_shebang(self)
    • test_generate_script_contains_set_e (method, line 129) def test_generate_script_contains_set_e(self)
    • test_generate_script_contains_sed_commands (method, line 140) def test_generate_script_contains_sed_commands(self)
    • test_analyze_sorted_by_line_count (method, line 160) def test_analyze_sorted_by_line_count(self)
    • test_analyze_respects_max_files_limit (method, line 173) def test_analyze_respects_max_files_limit(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_refactorizer.py

tests/test_resolver.py

  • Doc: Contract tests for the ImportResolver.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestImportResolverContract (class, line 15) class TestImportResolverContract(TestCase)
    • test_resolves_python_module_dotpath (method, line 18) def test_resolves_python_module_dotpath(self)
    • test_resolves_relative_import (method, line 25) def test_resolves_relative_import(self)
    • test_resolves_extensionless_python_import (method, line 32) def test_resolves_extensionless_python_import(self)
    • test_resolves_package_init (method, line 39) def test_resolves_package_init(self)
    • test_returns_none_for_external_stdlib (method, line 46) def test_returns_none_for_external_stdlib(self)
    • test_returns_none_for_unknown_import (method, line 53) def test_returns_none_for_unknown_import(self)
    • test_resolves_stem_match_when_unique (method, line 60) def test_resolves_stem_match_when_unique(self)
    • test_returns_none_for_empty_import (method, line 67) def test_returns_none_for_empty_import(self)
    • test_resolves_go_import (method, line 72) def test_resolves_go_import(self)
    • test_resolves_same_directory_import (method, line 79) def test_resolves_same_directory_import(self)
    • test_resolves_c_quoted_header_same_dir (method, line 86) def test_resolves_c_quoted_header_same_dir(self)
    • test_resolves_c_quoted_header_subdir (method, line 93) def test_resolves_c_quoted_header_subdir(self)
    • test_resolves_c_extensionless_header (method, line 100) def test_resolves_c_extensionless_header(self)
    • test_resolves_c_source_from_header_dir (method, line 107) def test_resolves_c_source_from_header_dir(self)
    • test_resolves_cpp_header_same_dir (method, line 114) def test_resolves_cpp_header_same_dir(self)
    • test_resolves_c_header_stem_across_dirs (method, line 121) def test_resolves_c_header_stem_across_dirs(self)
    • test_returns_none_for_c_system_header (method, line 128) def test_returns_none_for_c_system_header(self)
    • test_resolves_parent_dir_include (method, line 135) def test_resolves_parent_dir_include(self)
    • test_resolves_parent_dir_include_despite_ambiguous_stem (method, line 142) def test_resolves_parent_dir_include_despite_ambiguous_stem(self)
    • test_resolves_include_dir_suffix_match (method, line 149) def test_resolves_include_dir_suffix_match(self)
    • test_returns_none_for_ambiguous_suffix_match (method, line 156) def test_returns_none_for_ambiguous_suffix_match(self)
  • Depends on: readmenator/_resolver.py

tests/test_rule_gen.py

  • Doc: TestRuleGeneratorContract: Contract: RuleGenerator detects patterns and suggests rules.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestRuleGeneratorContract (class, line 12) class TestRuleGeneratorContract(TestCase)
    • setUp (method, line 15) def setUp(self)
    • _make_node (method, line 19) def _make_node(self, nid, label, lang)
    • _make_node_with_symbols (method, line 29) def _make_node_with_symbols(self, nid, sym_count)
    • test_empty_nodes_returns_empty_rules (method, line 44) def test_empty_nodes_returns_empty_rules(self)
    • test_generates_rules_for_function_heavy_language (method, line 48) def test_generates_rules_for_function_heavy_language(self)
    • test_detects_antipatterns_with_content (method, line 56) def test_detects_antipatterns_with_content(self)
    • test_antipattern_threshold_from_config (method, line 67) def test_antipattern_threshold_from_config(self)
    • test_write_rules_creates_files (method, line 77) def test_write_rules_creates_files(self)
    • test_rule_id_increments (method, line 90) def test_rule_id_increments(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_rule_gen.py

tests/test_sarif.py

  • Doc: TestSarifExporterContract: Contract: SarifExporter produces valid SARIF v2.1.0 JSON.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestSarifExporterContract (class, line 11) class TestSarifExporterContract(TestCase)
    • setUp (method, line 14) def setUp(self)
    • _make_finding (method, line 18) def _make_finding(self, file_path, line, severity, rule_id, description, snippet, cwe)
    • test_export_returns_valid_json (method, line 38) def test_export_returns_valid_json(self)
    • test_export_includes_tool_info (method, line 46) def test_export_includes_tool_info(self)
    • test_export_includes_rule (method, line 54) def test_export_includes_rule(self)
    • test_export_includes_result (method, line 62) def test_export_includes_result(self)
    • test_severity_maps_correctly (method, line 73) def test_severity_maps_correctly(self)
    • test_privacy_mode_strips_snippets (method, line 88) def test_privacy_mode_strips_snippets(self)
    • test_empty_findings_produces_valid_sarif (method, line 97) def test_empty_findings_produces_valid_sarif(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_sarif.py

tests/test_scanner.py

  • Layer: testing
  • Language: py
  • Symbols:
    • TestScannerContract (class, line 11) class TestScannerContract(TestCase)
    • setUp (method, line 12) def setUp(self)
    • tearDown (method, line 16) def tearDown(self)
    • _write (method, line 20) def _write(self, path, content)
    • test_scans_python_files (method, line 25) def test_scans_python_files(self)
    • test_ignores_env_and_vendor_dirs (method, line 32) def test_ignores_env_and_vendor_dirs(self)
    • test_rejects_symlinks (method, line 45) def test_rejects_symlinks(self)
    • test_skips_non_code_files (method, line 59) def test_skips_non_code_files(self)
    • test_scans_multiple_languages (method, line 70) def test_scans_multiple_languages(self)
    • test_respects_max_directory_depth (method, line 79) def test_respects_max_directory_depth(self)
    • test_raises_on_invalid_directory (method, line 89) def test_raises_on_invalid_directory(self)
    • test_import_edges_are_created (method, line 94) def test_import_edges_are_created(self)
    • test_privacy_mode_strips_docs (method, line 104) def test_privacy_mode_strips_docs(self)
    • test_module_docstring_extracted_as_file_doc (method, line 114) def test_module_docstring_extracted_as_file_doc(self)
    • test_multiline_module_docstring_extracted (method, line 121) def test_multiline_module_docstring_extracted(self)
    • test_coding_cookie_ignored_as_file_doc (method, line 129) def test_coding_cookie_ignored_as_file_doc(self)
    • test_preprocessor_guards_ignored_as_file_doc (method, line 136) def test_preprocessor_guards_ignored_as_file_doc(self)
    • test_scan_with_content_returns_content_map (method, line 143) def test_scan_with_content_returns_content_map(self)
    • test_gitignore_respected_when_enabled (method, line 151) def test_gitignore_respected_when_enabled(self)
    • test_gitignore_disabled_by_default (method, line 162) def test_gitignore_disabled_by_default(self)
    • test_gitignore_glob_conversion (method, line 171) def test_gitignore_glob_conversion(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_scanner.py

tests/test_security.py

  • Doc: Contract tests for the static security analysis module.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestSecurityFinding (class, line 21) class TestSecurityFinding(TestCase)
    • TestSecurityAnalyzerConfig (class, line 43) class TestSecurityAnalyzerConfig(TestCase)
    • TestSecurityAnalyzerRules (class, line 64) class TestSecurityAnalyzerRules(TestCase)
    • TestSecurityAnalyzerThreshold (class, line 295) class TestSecurityAnalyzerThreshold(TestCase)
    • TestSecurityAnalyzerPathValidation (class, line 327) class TestSecurityAnalyzerPathValidation(TestCase)
    • TestSecurityAnalyzerSummary (class, line 374) class TestSecurityAnalyzerSummary(TestCase)
    • TestFixGuidance (class, line 396) class TestFixGuidance(TestCase)
    • test_security_finding_fields (method, line 24) def test_security_finding_fields(self)
    • test_default_config_disables_security (method, line 46) def test_default_config_disables_security(self)
    • test_default_severity_threshold (method, line 50) def test_default_severity_threshold(self)
    • test_default_security_output (method, line 54) def test_default_security_output(self)
    • test_init_with_config (method, line 58) def test_init_with_config(self)
    • setUp (method, line 67) def setUp(self)
    • _scan_content (method, line 71) def _scan_content(self, content, extension)
    • test_python_os_system (method, line 78) def test_python_os_system(self)
    • test_python_eval (method, line 83) def test_python_eval(self)
    • test_python_pickle (method, line 88) def test_python_pickle(self)
    • test_python_sql_injection (method, line 93) def test_python_sql_injection(self)
    • test_python_hardcoded_secret (method, line 98) def test_python_hardcoded_secret(self)
    • test_python_weak_crypto (method, line 103) def test_python_weak_crypto(self)
    • test_python_request_verify_false (method, line 108) def test_python_request_verify_false(self)
    • test_python_flask_debug (method, line 113) def test_python_flask_debug(self)
    • test_python_yaml_load (method, line 118) def test_python_yaml_load(self)
    • test_javascript_inner_html (method, line 123) def test_javascript_inner_html(self)
    • test_javascript_eval (method, line 128) def test_javascript_eval(self)
    • test_javascript_child_process (method, line 133) def test_javascript_child_process(self)
    • test_javascript_dangerously_set_inner_html (method, line 138) def test_javascript_dangerously_set_inner_html(self)
    • test_c_strcpy (method, line 143) def test_c_strcpy(self)
    • test_c_gets (method, line 148) def test_c_gets(self)
    • test_c_system (method, line 153) def test_c_system(self)
    • test_java_runtime_exec (method, line 158) def test_java_runtime_exec(self)
    • test_java_sql_injection (method, line 163) def test_java_sql_injection(self)
    • test_go_exec_command (method, line 168) def test_go_exec_command(self)
    • test_ruby_eval (method, line 173) def test_ruby_eval(self)
    • test_ruby_marshal_load (method, line 178) def test_ruby_marshal_load(self)
    • test_php_eval (method, line 183) def test_php_eval(self)
    • test_php_sql_injection (method, line 188) def test_php_sql_injection(self)
    • test_php_unseralize (method, line 193) def test_php_unseralize(self)
    • test_shell_eval (method, line 198) def test_shell_eval(self)
    • test_csharp_process_start (method, line 203) def test_csharp_process_start(self)
    • test_kotlin_runtime_exec (method, line 208) def test_kotlin_runtime_exec(self)
    • test_swift_process (method, line 213) def test_swift_process(self)
    • test_lua_load (method, line 218) def test_lua_load(self)
    • test_lua_os_execute (method, line 223) def test_lua_os_execute(self)
    • test_dart_process_run (method, line 228) def test_dart_process_run(self)
    • test_rust_unsafe (method, line 233) def test_rust_unsafe(self)
    • test_elixir_code_eval (method, line 238) def test_elixir_code_eval(self)
    • test_elixir_system_cmd (method, line 243) def test_elixir_system_cmd(self)
    • test_gdscript_os_execute (method, line 248) def test_gdscript_os_execute(self)
    • test_scala_runtime_exec (method, line 253) def test_scala_runtime_exec(self)
    • test_nim_exec_process (method, line 258) def test_nim_exec_process(self)
    • test_safe_code_produces_no_findings (method, line 263) def test_safe_code_produces_no_findings(self)
    • test_csharp_binary_formatter (method, line 274) def test_csharp_binary_formatter(self)
    • test_ruby_backtick (method, line 279) def test_ruby_backtick(self)
    • test_php_xss (method, line 284) def test_php_xss(self)
    • test_go_unsafe_package (method, line 289) def test_go_unsafe_package(self)
    • test_threshold_filters_low (method, line 298) def test_threshold_filters_low(self)
    • test_threshold_info_shows_all (method, line 312) def test_threshold_info_shows_all(self)
    • test_ignores_symlinks (method, line 330) def test_ignores_symlinks(self)
    • test_ignores_ignored_dirs (method, line 345) def test_ignores_ignored_dirs(self)
    • test_empty_directory (method, line 357) def test_empty_directory(self)
    • test_unsupported_extension (method, line 364) def test_unsupported_extension(self)
    • test_summary_empty (method, line 377) def test_summary_empty(self)
    • test_summary_with_findings (method, line 383) def test_summary_with_findings(self)
    • _finding (method, line 399) def _finding(self, cwe)
    • test_known_cwe_returns_actionable_hint (method, line 402) def test_known_cwe_returns_actionable_hint(self)
    • test_unknown_cwe_falls_back (method, line 408) def test_unknown_cwe_falls_back(self)
    • test_empty_cwe_falls_back (method, line 413) def test_empty_cwe_falls_back(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_security.py

tests/test_sourceview.py

  • Doc: Contract tests for the source viewer (View drawer in explorers).
  • Layer: testing
  • Language: py
  • Symbols:
    • _node (function, line 15) def _node(nid)
    • TestSourceViewBuilderContract (class, line 21) class TestSourceViewBuilderContract(TestCase)
    • TestSourceViewerRenderContract (class, line 51) class TestSourceViewerRenderContract(TestCase)
    • test_build_sources_embeds_truncated_text (method, line 24) def test_build_sources_embeds_truncated_text(self)
    • test_build_sources_respects_caps (method, line 33) def test_build_sources_respects_caps(self)
    • test_build_sources_empty_in_privacy_mode (method, line 40) def test_build_sources_empty_in_privacy_mode(self)
    • test_build_sources_disabled_flag (method, line 45) def test_build_sources_disabled_flag(self)
    • setUp (method, line 54) def setUp(self)
    • test_forcegraph_embeds_src_fields (method, line 64) def test_forcegraph_embeds_src_fields(self)
    • test_bundlegraph_propagates_src_and_syms (method, line 71) def test_bundlegraph_propagates_src_and_syms(self)
    • test_both_pages_ship_view_drawer (method, line 78) def test_both_pages_ship_view_drawer(self)
    • test_settings_carry_src_budgets (method, line 89) def test_settings_carry_src_budgets(self)
    • test_no_network_requests (method, line 94) def test_no_network_requests(self)
    • test_theme_tokens_for_both_modes (method, line 102) def test_theme_tokens_for_both_modes(self)
    • test_privacy_mode_strips_viewer (method, line 108) def test_privacy_mode_strips_viewer(self)
    • test_untrusted_source_cannot_break_script (method, line 120) def test_untrusted_source_cannot_break_script(self)
    • test_missing_source_falls_back_to_live_api (method, line 127) def test_missing_source_falls_back_to_live_api(self)
    • test_static_pages_never_probe_the_api (method, line 136) def test_static_pages_never_probe_the_api(self)
    • test_budget_cut_files_say_so (method, line 143) def test_budget_cut_files_say_so(self)
    • test_empty_files_say_so (method, line 158) def test_empty_files_say_so(self)
    • test_default_budgets_cover_mid_size_projects (method, line 165) def test_default_budgets_cover_mid_size_projects(self)
    • test_budget_cut_warns_on_console (method, line 170) def test_budget_cut_warns_on_console(self)
    • test_update_refreshes_explorer_sources (method, line 179) def test_update_refreshes_explorer_sources(self)
  • Depends on: readmenator/_app.py, readmenator/_bundlegraph.py, readmenator/_config.py, readmenator/_forcegraph.py, readmenator/_models.py, readmenator/_sourceview.py

tests/test_symindex.py

  • Doc: Contract tests for the deterministic symbol index.
  • Layer: testing
  • Language: py
  • Symbols:
    • _node (function, line 12) def _node(nid)
    • TestSymbolIndexContract (class, line 20) class TestSymbolIndexContract(TestCase)
    • setUp (method, line 23) def setUp(self)
    • test_build_assigns_spans (method, line 33) def test_build_assigns_spans(self)
    • test_python_call_sites_carry_lines (method, line 40) def test_python_call_sites_carry_lines(self)
    • test_resolve_prefers_same_file (method, line 46) def test_resolve_prefers_same_file(self)
    • test_resolve_follows_imports (method, line 54) def test_resolve_follows_imports(self)
    • test_unresolved_and_builtin_tiers (method, line 62) def test_unresolved_and_builtin_tiers(self)
    • test_methods_index_matches_pipe_keys (method, line 71) def test_methods_index_matches_pipe_keys(self)
    • test_edge_fallback_without_content (method, line 81) def test_edge_fallback_without_content(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_symindex.py

tests/test_taint.py

  • Doc: TestTaintAnalyzerContract: Contract: TaintAnalyzer discovers taint propagation paths.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestTaintAnalyzerContract (class, line 10) class TestTaintAnalyzerContract(TestCase)
    • setUp (method, line 13) def setUp(self)
    • _make_node (method, line 17) def _make_node(self, nid, label)
    • test_empty_graph_returns_empty_result (method, line 20) def test_empty_graph_returns_empty_result(self)
    • test_no_dangerous_imports_returns_empty (method, line 25) def test_no_dangerous_imports_returns_empty(self)
    • test_direct_dangerous_import_found (method, line 31) def test_direct_dangerous_import_found(self)
    • test_taint_propagates_through_resolved_edges (method, line 38) def test_taint_propagates_through_resolved_edges(self)
    • test_dangerous_import_by_language (method, line 62) def test_dangerous_import_by_language(self)
    • test_taint_path_has_severity (method, line 70) def test_taint_path_has_severity(self)
    • test_max_depth_limits_propagation (method, line 77) def test_max_depth_limits_propagation(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_taint.py

tests/test_taint_bdd.py

  • Doc: BDD-style contract tests for taint propagation analysis.
  • Layer: testing
  • Language: py
  • Symbols:
    • _build_project_files (function, line 29) def _build_project_files(project, root)
    • _scan_project (function, line 36) def _scan_project(root, cfg)
    • _run_taint (function, line 54) def _run_taint(files, cfg)
    • test_direct_dangerous_import (function, line 71) def test_direct_dangerous_import()
    • test_taint_propagates_chain (function, line 75) def test_taint_propagates_chain()
    • test_taint_max_depth (function, line 79) def test_taint_max_depth()
    • test_cross_language_taint (function, line 83) def test_cross_language_taint()
    • test_bdd_skipped (function, line 87) def test_bdd_skipped()
    • _bkg (function, line 112) def _bkg()
    • _direct_given (function, line 117) def _direct_given()
    • _direct_when (function, line 121) def _direct_when(_taint_result)
    • _check_has_path (function, line 125) def _check_has_path(_taint_result)
    • _check_direct_path (function, line 130) def _check_direct_path(_taint_result)
    • _check_src (function, line 135) def _check_src(_taint_result)
    • _check_sink (function, line 139) def _check_sink(_taint_result)
    • _chain_given (function, line 144) def _chain_given()
    • _chain_when (function, line 148) def _chain_when(_taint_result)
    • _check_long_path (function, line 152) def _check_long_path(_taint_result)
    • _shallow_cfg (function, line 159) def _shallow_cfg()
    • _chain_given2 (function, line 163) def _chain_given2()
    • _run_shallow (function, line 167) def _run_shallow(_shallow_cfg)
    • _check_shallow (function, line 171) def _check_shallow(_taint_result)
    • _js_given (function, line 178) def _js_given()
    • _js_when (function, line 182) def _js_when(_taint_result)
    • _check_js_dangerous (function, line 186) def _check_js_dangerous(_taint_result)
    • _check_js_source (function, line 192) def _check_js_source(_taint_result)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_resolver.py, readmenator/_scanner.py, readmenator/_taint.py

tests/test_uml.py

  • Doc: Contract tests for UML class diagram generation and language code generation.
  • Layer: testing
  • Language: py
  • Symbols:
    • TestUmlMermaidDiagram (class, line 16) class TestUmlMermaidDiagram(TestCase)
    • TestUmlSanitizeId (class, line 157) class TestUmlSanitizeId(TestCase)
    • TestUmlCodeGenerationCpp (class, line 181) class TestUmlCodeGenerationCpp(TestCase)
    • TestUmlCodeGenerationJava (class, line 239) class TestUmlCodeGenerationJava(TestCase)
    • TestUmlCodeGenerationCSharp (class, line 281) class TestUmlCodeGenerationCSharp(TestCase)
    • TestUmlCodeGenerationGo (class, line 306) class TestUmlCodeGenerationGo(TestCase)
    • TestUmlCodeGenerationRust (class, line 347) class TestUmlCodeGenerationRust(TestCase)
    • TestUmlCodeGenerationPhp (class, line 387) class TestUmlCodeGenerationPhp(TestCase)
    • TestUmlCodeGenerationKotlinScalaSwiftDartRuby (class, line 427) class TestUmlCodeGenerationKotlinScalaSwiftDartRuby(TestCase)
    • setUp (method, line 19) def setUp(self)
    • test_render_empty_nodes_returns_empty_string (method, line 23) def test_render_empty_nodes_returns_empty_string(self)
    • test_render_no_class_symbols_returns_empty_string (method, line 27) def test_render_no_class_symbols_returns_empty_string(self)
    • test_render_single_class_produces_mermaid_class_diagram (method, line 42) def test_render_single_class_produces_mermaid_class_diagram(self)
    • test_render_multiple_classes_from_different_files (method, line 62) def test_render_multiple_classes_from_different_files(self)
    • test_render_with_import_edges_produces_relationships (method, line 90) def test_render_with_import_edges_produces_relationships(self)
    • test_render_respects_max_classes_limit (method, line 119) def test_render_respects_max_classes_limit(self)
    • test_render_with_structs_interfaces_traits (method, line 137) def test_render_with_structs_interfaces_traits(self)
    • setUp (method, line 160) def setUp(self)
    • test_sanitize_preserves_alphanumeric (method, line 164) def test_sanitize_preserves_alphanumeric(self)
    • test_sanitize_replaces_special_chars (method, line 168) def test_sanitize_replaces_special_chars(self)
    • test_sanitize_prefixes_digit_start (method, line 172) def test_sanitize_prefixes_digit_start(self)
    • test_sanitize_handles_empty_string (method, line 176) def test_sanitize_handles_empty_string(self)
    • setUp (method, line 184) def setUp(self)
    • test_generate_cpp_produces_valid_code (method, line 188) def test_generate_cpp_produces_valid_code(self)
    • test_generate_cpp_with_empty_classes (method, line 208) def test_generate_cpp_with_empty_classes(self)
    • test_generate_cpp_unknown_language_returns_error_message (method, line 223) def test_generate_cpp_unknown_language_returns_error_message(self)
    • setUp (method, line 242) def setUp(self)
    • test_generate_java_class_produces_valid_code (method, line 246) def test_generate_java_class_produces_valid_code(self)
    • test_generate_java_interface_produces_interface (method, line 265) def test_generate_java_interface_produces_interface(self)
    • setUp (method, line 284) def setUp(self)
    • test_generate_csharp_produces_valid_code (method, line 288) def test_generate_csharp_produces_valid_code(self)
    • setUp (method, line 309) def setUp(self)
    • test_generate_go_struct_produces_valid_code (method, line 313) def test_generate_go_struct_produces_valid_code(self)
    • test_generate_go_interface_produces_valid_code (method, line 330) def test_generate_go_interface_produces_valid_code(self)
    • setUp (method, line 350) def setUp(self)
    • test_generate_rust_struct_produces_valid_code (method, line 354) def test_generate_rust_struct_produces_valid_code(self)
    • test_generate_rust_trait_produces_valid_code (method, line 370) def test_generate_rust_trait_produces_valid_code(self)
    • setUp (method, line 390) def setUp(self)
    • test_generate_php_class_produces_valid_code (method, line 394) def test_generate_php_class_produces_valid_code(self)
    • test_generate_php_interface_produces_valid_code (method, line 411) def test_generate_php_interface_produces_valid_code(self)
    • setUp (method, line 430) def setUp(self)
    • _make_class_node (method, line 434) def _make_class_node(self, name, lang, kind)
    • test_generate_kotlin_produces_valid_code (method, line 446) def test_generate_kotlin_produces_valid_code(self)
    • test_generate_scala_produces_valid_code (method, line 452) def test_generate_scala_produces_valid_code(self)
    • test_generate_scala_trait_produces_valid_code (method, line 458) def test_generate_scala_trait_produces_valid_code(self)
    • test_generate_swift_produces_valid_code (method, line 463) def test_generate_swift_produces_valid_code(self)
    • test_generate_swift_protocol_produces_valid_code (method, line 469) def test_generate_swift_protocol_produces_valid_code(self)
    • test_generate_dart_produces_valid_code (method, line 474) def test_generate_dart_produces_valid_code(self)
    • test_generate_ruby_produces_valid_code (method, line 480) def test_generate_ruby_produces_valid_code(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_uml.py

tests/test_video.py

  • Doc: Contract tests for the cinematic overview video renderer.
  • Layer: testing
  • Language: py
  • Symbols:
    • _nodes (function, line 17) def _nodes()
    • _analysis (function, line 25) def _analysis()
    • TestVideoContract (class, line 37) class TestVideoContract(TestCase)
    • TestVideoFlowActs (class, line 224) class TestVideoFlowActs(TestCase)
    • test_video_collect_counts (method, line 38) def test_video_collect_counts(self)
    • test_video_collect_empty_project (method, line 50) def test_video_collect_empty_project(self)
    • test_video_collect_enriched_fields (method, line 60) def test_video_collect_enriched_fields(self)
    • test_video_build_scenes_durations (method, line 80) def test_video_build_scenes_durations(self)
    • test_video_all_scenes_render_small_canvas (method, line 92) def test_video_all_scenes_render_small_canvas(self)
    • test_video_new_scenes_render_every_phase (method, line 111) def test_video_new_scenes_render_every_phase(self)
    • test_video_zero_duration_act_skips_its_card (method, line 130) def test_video_zero_duration_act_skips_its_card(self)
    • test_video_orbit_layout_is_normalized_and_stable (method, line 141) def test_video_orbit_layout_is_normalized_and_stable(self)
    • test_video_project3d_centers_target (method, line 159) def test_video_project3d_centers_target(self)
    • test_video_graph_positions_deterministic (method, line 168) def test_video_graph_positions_deterministic(self)
    • test_video_single_frame_bytes (method, line 179) def test_video_single_frame_bytes(self)
    • test_video_hash_color_deterministic (method, line 194) def test_video_hash_color_deterministic(self)
    • test_video_short_label_truncates (method, line 200) def test_video_short_label_truncates(self)
    • test_video_dependencies_returns_bool (method, line 205) def test_video_dependencies_returns_bool(self)
    • test_video_disabled_skips_without_render (method, line 208) def test_video_disabled_skips_without_render(self)
    • test_video_flow_acts_scheduled_and_drawn (method, line 227) def test_video_flow_acts_scheduled_and_drawn(self)
  • Depends on: readmenator/_app.py, readmenator/_config.py, readmenator/_models.py, readmenator/_video.py

tests/test_wiki.py

  • Layer: testing
  • Language: py
  • Symbols:
    • _make_node (function, line 12) def _make_node(node_id, doc, symbols, language)
    • _make_symbol (function, line 23) def _make_symbol(name, kind, line, doc)
    • _make_analysis (function, line 27) def _make_analysis()
    • _make_nodes (function, line 41) def _make_nodes()
    • TestWikiConfigContract (class, line 49) class TestWikiConfigContract(TestCase)
    • TestWikiGenerationContract (class, line 65) class TestWikiGenerationContract(TestCase)
    • test_config_defaults (method, line 50) def test_config_defaults(self)
    • test_config_immutable (method, line 58) def test_config_immutable(self)
    • test_generate_writes_all_files (method, line 66) def test_generate_writes_all_files(self)
    • test_community_page_sections (method, line 81) def test_community_page_sections(self)
    • test_connections_typed_with_confidence (method, line 95) def test_connections_typed_with_confidence(self)
    • test_fallback_single_community_without_analysis (method, line 115) def test_fallback_single_community_without_analysis(self)
    • test_report_honest_audit_sections (method, line 125) def test_report_honest_audit_sections(self)
    • test_index_entry_point (method, line 139) def test_index_entry_point(self)
    • test_lint_healthy_after_generate (method, line 152) def test_lint_healthy_after_generate(self)
    • test_deterministic_connections (method, line 161) def test_deterministic_connections(self)
    • test_privacy_mode_strips_docs (method, line 174) def test_privacy_mode_strips_docs(self)
    • test_leftover_files_covered_by_orphans_community (method, line 184) def test_leftover_files_covered_by_orphans_community(self)
    • test_shared_context_link_for_disconnected_communities (method, line 194) def test_shared_context_link_for_disconnected_communities(self)
    • test_garbage_doc_filtered_from_definition (method, line 210) def test_garbage_doc_filtered_from_definition(self)
    • test_definition_names_core_file (method, line 217) def test_definition_names_core_file(self)
    • test_duplicate_community_labels_disambiguated (method, line 240) def test_duplicate_community_labels_disambiguated(self)
    • test_duplicate_god_basenames_disambiguated (method, line 259) def test_duplicate_god_basenames_disambiguated(self)
    • test_oversized_community_grouped_by_directory (method, line 278) def test_oversized_community_grouped_by_directory(self)
    • test_large_files_flagged_in_index_and_report (method, line 302) def test_large_files_flagged_in_index_and_report(self)
    • test_stale_pages_pruned_on_regenerate (method, line 323) def test_stale_pages_pruned_on_regenerate(self)
    • test_risks_carry_fix_hint_scope_and_closed_cycle (method, line 335) def test_risks_carry_fix_hint_scope_and_closed_cycle(self)
    • test_duplicate_symbol_scope_detected (method, line 365) def test_duplicate_symbol_scope_detected(self)
    • test_no_duplicate_link_for_disjoint_scopes (method, line 388) def test_no_duplicate_link_for_disjoint_scopes(self)
    • test_garbage_purpose_filtered (method, line 408) def test_garbage_purpose_filtered(self)
  • Depends on: readmenator/_config.py, readmenator/_models.py, readmenator/_wiki.py

Clone this wiki locally