   Building vibelexity @ file:///Users/oz/Documents/viblexity-trees/vibelexity-main
      Built vibelexity @ file:///Users/oz/Documents/viblexity-trees/vibelexity-main
Uninstalled 1 package in 0.22ms
warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
         If the cache and target directories are on different filesystems, hardlinking may not be supported.
         If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Installed 1 package in 0.62ms
============================= test session starts ==============================
platform linux -- Python 3.11.2, pytest-9.0.2, pluggy-1.6.0 -- /Users/oz/Documents/viblexity-trees/vibelexity-main/.venv/bin/python
cachedir: .pytest_cache
rootdir: /Users/oz/Documents/viblexity-trees/vibelexity-main
configfile: pyproject.toml
plugins: cov-7.0.0
collecting ... collected 648 items

tests/test_analyzers.py::test_analyze_file_py PASSED                     [  0%]
tests/test_analyzers.py::test_analyze_file_ts_normal_extension PASSED    [  0%]
tests/test_analyzers.py::test_analyze_file_ts_tsx_extension PASSED       [  0%]
tests/test_analyzers.py::test_analyze_py_empty_file PASSED               [  0%]
tests/test_analyzers.py::test_analyze_ts_empty_file PASSED               [  0%]
tests/test_analyzers.py::test_analyze_go_empty_file PASSED               [  0%]
tests/test_call_graph/test_cycles.py::test_recursive_cycle PASSED        [  1%]
tests/test_call_graph/test_cycles.py::test_mutual_recursion PASSED       [  1%]
tests/test_call_graph/test_cycles.py::test_no_cycle PASSED               [  1%]
tests/test_call_graph/test_formatters.py::test_format_dot PASSED         [  1%]
tests/test_call_graph/test_formatters.py::test_format_dot_filters_external PASSED [  1%]
tests/test_call_graph/test_formatters_extra.py::test_format_dot_value_error_on_relative_path PASSED [  1%]
tests/test_call_graph/test_formatters_extra.py::test_format_dot_relative_path_with_quotes PASSED [  2%]
tests/test_call_graph/test_formatters_extra.py::test_filter_internal_calls PASSED [  2%]
tests/test_call_graph/test_parser.py::test_extract_function_definitions PASSED [  2%]
tests/test_call_graph/test_parser.py::test_extract_simple_calls PASSED   [  2%]
tests/test_call_graph/test_parser.py::test_extract_method_calls PASSED   [  2%]
tests/test_call_graph/test_parser.py::test_extract_external_calls PASSED [  2%]
tests/test_call_graph/test_resolution.py::test_local_call_resolution PASSED [  2%]
tests/test_call_graph/test_resolution.py::test_external_call_resolution PASSED [  3%]
tests/test_call_graph/test_resolution.py::test_method_call_resolution PASSED [  3%]
tests/test_call_graph/test_unused.py::test_entry_point_unused PASSED     [  3%]
tests/test_call_graph/test_unused.py::test_mutual_cycle_both_used PASSED [  3%]
tests/test_call_graph/test_unused.py::test_private_filtered PASSED       [  3%]
tests/test_call_graph/test_unused.py::test_chained_usage PASSED          [  3%]
tests/test_call_graph/test_unused.py::test_unused_function_detection PASSED [  4%]
tests/test_call_graph/test_unused.py::test_caller_is_unused PASSED       [  4%]
tests/test_call_graph_core.py::test_build_call_graph_unmatched_function PASSED [  4%]
tests/test_call_graph_core.py::test_build_call_graph_same_file_priority PASSED [  4%]
tests/test_call_graph_core.py::test_build_call_graph_cross_file_call PASSED [  4%]
tests/test_call_graph_core.py::test_build_call_graph_empty_files PASSED  [  4%]
tests/test_call_graph_core.py::test_find_call_cycles_with_external PASSED [  4%]
tests/test_call_graph_core.py::test_find_unused_functions_ignores_dunder PASSED [  5%]
tests/test_call_graph_core.py::test_build_call_graph_multiple_def_names PASSED [  5%]
tests/test_call_graph_core.py::test_build_call_graph_none_callee_file PASSED [  5%]
tests/test_circular_deps/test_core.py::test_python_parser_extract_import PASSED [  5%]
tests/test_circular_deps/test_core.py::test_cycle_detection_simple PASSED [  5%]
tests/test_circular_deps/test_core.py::test_format_text PASSED           [  5%]
tests/test_circular_deps/test_core.py::test_format_json PASSED           [  6%]
tests/test_circular_deps/test_core.py::test_no_cycles_linear_chain PASSED [  6%]
tests/test_circular_deps/test_core.py::test_transitive_cycle_three_files PASSED [  6%]
tests/test_circular_deps/test_core.py::test_cycle_detection_in_src_subdirectory PASSED [  6%]
tests/test_circular_deps/test_core.py::test_cycle_nested_to_root PASSED  [  6%]
tests/test_circular_deps/test_core_extra.py::test_build_dependency_graph_empty_files PASSED [  6%]
tests/test_circular_deps/test_core_extra.py::test_build_dependency_graph_unsupported_extensions PASSED [  6%]
tests/test_circular_deps/test_core_extra.py::test_build_dependency_graph_single_file PASSED [  7%]
tests/test_circular_deps/test_core_extra.py::test_build_dependency_graph_file_read_error PASSED [  7%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_tarjan_simple PASSED [  7%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_tarjan_three_file_cycle PASSED [  7%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_tarjan_no_cycles PASSED [  7%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_tarjan_multiple_disconnected_cycles PASSED [  7%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_tarjan_self_import PASSED [  8%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_dfs_gray_node_detection PASSED [  8%]
tests/test_circular_deps/test_core_extra.py::test_find_cycles_no_local_import PASSED [  8%]
tests/test_circular_deps/test_go.py::test_go_parser_extract_import PASSED [  8%]
tests/test_circular_deps/test_go.py::test_go_stdlib_filtering PASSED     [  8%]
tests/test_circular_deps/test_go.py::test_go_cycle_detection_simple PASSED [  8%]
tests/test_circular_deps/test_go.py::test_go_resolver_package_resolution PASSED [  8%]
tests/test_circular_deps/test_go.py::test_go_resolver_finds_go_file PASSED [  9%]
tests/test_circular_deps/test_go.py::test_go_cycle_detection_in_src_subdirectory PASSED [  9%]
tests/test_circular_deps/test_go.py::test_go_cycle_transitive_three_files PASSED [  9%]
tests/test_circular_deps/test_go.py::test_go_cycle_nested_to_root PASSED [  9%]
tests/test_circular_deps/test_go.py::test_go_no_cycles_linear_chain PASSED [  9%]
tests/test_circular_deps/test_resolvers.py::test_resolve_absolute_module_current_dir PASSED [  9%]
tests/test_circular_deps/test_resolvers.py::test_resolve_absolute_module_root_dir PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_absolute_module_not_found PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_single_dot PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_double_dot PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_triple_dot PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_module_suffix PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_empty_module_name PASSED [ 10%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_with_package PASSED [ 11%]
tests/test_circular_deps/test_resolvers.py::test_resolve_relative_module_name_with_dots PASSED [ 11%]
tests/test_circular_deps/test_resolvers.py::test_find_py_file_direct PASSED [ 11%]
tests/test_circular_deps/test_resolvers.py::test_find_py_file_package_with_init PASSED [ 11%]
tests/test_circular_deps/test_resolvers.py::test_find_py_file_appends_extension PASSED [ 11%]
tests/test_circular_deps/test_resolvers.py::test_find_py_file_not_found PASSED [ 11%]
tests/test_circular_deps/test_resolvers.py::test_check_under_root_in_root PASSED [ 12%]
tests/test_circular_deps/test_resolvers.py::test_check_under_root_outside_root PASSED [ 12%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_default_no_args PASSED [ 12%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_nodenext_normalizes_to_node16 PASSED [ 12%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_invalid_mode_defaults_to_node16 PASSED [ 12%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_absolute_two_search_paths PASSED [ 12%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_node_with_extension_directory_index PASSED [ 12%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_node_with_extension_directory_main PASSED [ 13%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_node_without_extension_dirname PASSED [ 13%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_node_without_extension_dts PASSED [ 13%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_node16_without_extension_returns_none PASSED [ 13%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_with_extension_wrong_type PASSED [ 13%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_without_extension_tries_index PASSED [ 13%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_without_extension_tries_extensions PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_outside_root_returns_none PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_strip_extension_non_ts PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_has_extension_empty PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_module_modules_import_skipped PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_detect_from_tsconfig_no_config_found PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_detect_from_tsconfig_invalid_json PASSED [ 14%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_ext_js_only_jsx_exists PASSED [ 15%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_without_extension_jsx PASSED [ 15%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_without_extension_js PASSED [ 15%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolver_bundler_without_extension_tsx PASSED [ 15%]
tests/test_circular_deps/test_resolvers_typescript.py::test_resolve_directory_index_not_found PASSED [ 15%]
tests/test_circular_deps/test_type_imports.py::test_python_type_checking_import_detection PASSED [ 15%]
tests/test_circular_deps/test_type_imports.py::test_typescript_import_type_detection PASSED [ 16%]
tests/test_circular_deps/test_type_imports.py::test_python_type_only_cycle_detection PASSED [ 16%]
tests/test_circular_deps/test_type_imports.py::test_python_runtime_cycle_detection PASSED [ 16%]
tests/test_circular_deps/test_type_imports.py::test_python_mixed_runtime_and_type_cycles PASSED [ 16%]
tests/test_circular_deps/test_type_imports.py::test_cycle_stats_separate_counts PASSED [ 16%]
tests/test_circular_deps/test_typescript.py::test_typescript_parser_extract_import PASSED [ 16%]
tests/test_circular_deps/test_typescript.py::test_typescript_cycle_detection_simple PASSED [ 16%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_relative_imports PASSED [ 17%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_index_precedence PASSED [ 17%]
tests/test_circular_deps/test_typescript.py::test_typescript_no_external_imports PASSED [ 17%]
tests/test_circular_deps/test_typescript.py::test_typescript_cycle_detection_in_src_subdirectory PASSED [ 17%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_auto_discovery_from_tsconfig PASSED [ 17%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_auto_discovery_no_tsconfig PASSED [ 17%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_cli_overrides_tsconfig PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_invalid_tsconfig PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_node_mode_with_extension PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_node_mode_without_extension PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_node16_mode_with_extension PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_node16_mode_without_extension PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_bundler_mode PASSED [ 18%]
tests/test_circular_deps/test_typescript.py::test_typescript_resolver_closest_tsconfig PASSED [ 19%]
tests/test_circular_deps/test_typescript.py::test_typescript_cycle_nested_to_root PASSED [ 19%]
tests/test_circular_deps_core.py::test_detect_language_python PASSED     [ 19%]
tests/test_circular_deps_core.py::test_detect_language_typescript PASSED [ 19%]
tests/test_circular_deps_core.py::test_detect_language_go PASSED         [ 19%]
tests/test_circular_deps_core.py::test_detect_language_unsupported PASSED [ 19%]
tests/test_circular_deps_core.py::test_get_parser_python PASSED          [ 20%]
tests/test_circular_deps_core.py::test_get_parser_typescript PASSED      [ 20%]
tests/test_circular_deps_core.py::test_get_parser_go PASSED              [ 20%]
tests/test_circular_deps_core.py::test_get_parser_unknown PASSED         [ 20%]
tests/test_circular_deps_core.py::test_get_resolver_python PASSED        [ 20%]
tests/test_circular_deps_core.py::test_get_resolver_typescript PASSED    [ 20%]
tests/test_circular_deps_core.py::test_get_resolver_go PASSED            [ 20%]
tests/test_circular_deps_core.py::test_get_resolver_unknown PASSED       [ 21%]
tests/test_circular_deps_core.py::test_get_resolver_typescript_with_config PASSED [ 21%]
tests/test_circular_deps_core.py::test_find_common_root_empty PASSED     [ 21%]
tests/test_circular_deps_core.py::test_find_common_root_single_file PASSED [ 21%]
tests/test_circular_deps_core.py::test_find_common_root_same_directory PASSED [ 21%]
tests/test_circular_deps_core.py::test_find_common_root_different_directories PASSED [ 21%]
tests/test_circular_deps_core.py::test_find_common_root_no_common_root PASSED [ 22%]
tests/test_circular_deps_core.py::test_build_dependency_graph_empty_files PASSED [ 22%]
tests/test_circular_deps_core.py::test_build_dependency_graph_unsupported_extension PASSED [ 22%]
tests/test_circular_deps_core.py::test_build_dependency_graph_mixed_languages PASSED [ 22%]
tests/test_circular_deps_core.py::test_find_cycles_empty_files PASSED    [ 22%]
tests/test_circular_deps_core.py::test_find_cycles_single_file PASSED    [ 22%]
tests/test_cognitive/test_go.py::test_empty_function PASSED              [ 22%]
tests/test_cognitive/test_go.py::test_single_if PASSED                   [ 23%]
tests/test_cognitive/test_go.py::test_if_else PASSED                     [ 23%]
tests/test_cognitive/test_go.py::test_if_else_if_else PASSED             [ 23%]
tests/test_cognitive/test_go.py::test_for_c_style PASSED                 [ 23%]
tests/test_cognitive/test_go.py::test_for_range PASSED                   [ 23%]
tests/test_cognitive/test_go.py::test_for_as_while PASSED                [ 23%]
tests/test_cognitive/test_go.py::test_infinite_for PASSED                [ 24%]
tests/test_cognitive/test_go.py::test_nested_if PASSED                   [ 24%]
tests/test_cognitive/test_go.py::test_deeply_nested PASSED               [ 24%]
tests/test_cognitive/test_go.py::test_if_else_nesting PASSED             [ 24%]
tests/test_cognitive/test_go.py::test_expression_switch PASSED           [ 24%]
tests/test_cognitive/test_go.py::test_type_switch PASSED                 [ 24%]
tests/test_cognitive/test_go.py::test_select_statement PASSED            [ 25%]
tests/test_cognitive/test_go.py::test_switch_nested_in_if PASSED         [ 25%]
tests/test_cognitive/test_go.py::test_single_and PASSED                  [ 25%]
tests/test_cognitive/test_go.py::test_chained_same_op PASSED             [ 25%]
tests/test_cognitive/test_go.py::test_mixed_boolean PASSED               [ 25%]
tests/test_cognitive/test_go.py::test_complex_boolean PASSED             [ 25%]
tests/test_cognitive/test_go.py::test_recursion PASSED                   [ 25%]
tests/test_cognitive/test_go.py::test_no_false_recursion PASSED          [ 26%]
tests/test_cognitive/test_go.py::test_nested_function_separate_scoring PASSED [ 26%]
tests/test_cognitive/test_go.py::test_inline_func_literal_increases_nesting PASSED [ 26%]
tests/test_cognitive/test_go.py::test_named_func_literal_scored_separately PASSED [ 26%]
tests/test_cognitive/test_go.py::test_method_declaration PASSED          [ 26%]
tests/test_cognitive/test_go.py::test_go_statement_no_increment PASSED   [ 26%]
tests/test_cognitive/test_go.py::test_defer_no_increment PASSED          [ 27%]
tests/test_cognitive/test_go.py::test_error_handling_pattern PASSED      [ 27%]
tests/test_cognitive/test_go.py::test_if_with_initializer PASSED         [ 27%]
tests/test_cognitive/test_go.py::test_comprehensive PASSED               [ 27%]
tests/test_cognitive/test_go.py::test_not_operator_no_increment PASSED   [ 27%]
tests/test_cognitive/test_go.py::test_multiple_return_values PASSED      [ 27%]
tests/test_cognitive/test_python.py::test_simple_function PASSED         [ 27%]
tests/test_cognitive/test_python.py::test_single_if PASSED               [ 28%]
tests/test_cognitive/test_python.py::test_if_else PASSED                 [ 28%]
tests/test_cognitive/test_python.py::test_if_elif_else PASSED            [ 28%]
tests/test_cognitive/test_python.py::test_for_loop PASSED                [ 28%]
tests/test_cognitive/test_python.py::test_while_loop PASSED              [ 28%]
tests/test_cognitive/test_python.py::test_nested_if PASSED               [ 28%]
tests/test_cognitive/test_python.py::test_deeply_nested PASSED           [ 29%]
tests/test_cognitive/test_python.py::test_if_else_nesting PASSED         [ 29%]
tests/test_cognitive/test_python.py::test_try_except PASSED              [ 29%]
tests/test_cognitive/test_python.py::test_try_except_nested PASSED       [ 29%]
tests/test_cognitive/test_python.py::test_single_and PASSED              [ 29%]
tests/test_cognitive/test_python.py::test_chained_same_op PASSED         [ 29%]
tests/test_cognitive/test_python.py::test_mixed_boolean PASSED           [ 29%]
tests/test_cognitive/test_python.py::test_complex_boolean PASSED         [ 30%]
tests/test_cognitive/test_python.py::test_ternary PASSED                 [ 30%]
tests/test_cognitive/test_python.py::test_ternary_nested PASSED          [ 30%]
tests/test_cognitive/test_python.py::test_recursion PASSED               [ 30%]
tests/test_cognitive/test_python.py::test_no_false_recursion PASSED      [ 30%]
tests/test_cognitive/test_python.py::test_nested_function_separate_scoring PASSED [ 30%]
tests/test_cognitive/test_python.py::test_nested_function_nesting_reset PASSED [ 31%]
tests/test_cognitive/test_python.py::test_lambda_nesting PASSED          [ 31%]
tests/test_cognitive/test_python.py::test_comprehensive PASSED           [ 31%]
tests/test_cognitive/test_python.py::test_file_total PASSED              [ 31%]
tests/test_cognitive/test_python.py::test_function_lines PASSED          [ 31%]
tests/test_cognitive/test_python.py::test_empty_function PASSED          [ 31%]
tests/test_cognitive/test_python.py::test_not_operator_no_increment PASSED [ 31%]
tests/test_cognitive/test_typescript.py::test_empty_function PASSED      [ 32%]
tests/test_cognitive/test_typescript.py::test_single_if PASSED           [ 32%]
tests/test_cognitive/test_typescript.py::test_if_else PASSED             [ 32%]
tests/test_cognitive/test_typescript.py::test_if_else_if_else PASSED     [ 32%]
tests/test_cognitive/test_typescript.py::test_for_loop PASSED            [ 32%]
tests/test_cognitive/test_typescript.py::test_for_in_loop PASSED         [ 32%]
tests/test_cognitive/test_typescript.py::test_while_loop PASSED          [ 33%]
tests/test_cognitive/test_typescript.py::test_do_while_loop PASSED       [ 33%]
tests/test_cognitive/test_typescript.py::test_nested_if PASSED           [ 33%]
tests/test_cognitive/test_typescript.py::test_deeply_nested PASSED       [ 33%]
tests/test_cognitive/test_typescript.py::test_if_else_nesting PASSED     [ 33%]
tests/test_cognitive/test_typescript.py::test_try_catch PASSED           [ 33%]
tests/test_cognitive/test_typescript.py::test_try_catch_nested PASSED    [ 33%]
tests/test_cognitive/test_typescript.py::test_single_and PASSED          [ 34%]
tests/test_cognitive/test_typescript.py::test_chained_same_op PASSED     [ 34%]
tests/test_cognitive/test_typescript.py::test_mixed_boolean PASSED       [ 34%]
tests/test_cognitive/test_typescript.py::test_complex_boolean PASSED     [ 34%]
tests/test_cognitive/test_typescript.py::test_ternary PASSED             [ 34%]
tests/test_cognitive/test_typescript.py::test_ternary_nested_in_if PASSED [ 34%]
tests/test_cognitive/test_typescript.py::test_recursion PASSED           [ 35%]
tests/test_cognitive/test_typescript.py::test_no_false_recursion PASSED  [ 35%]
tests/test_cognitive/test_typescript.py::test_nested_function_separate_scoring PASSED [ 35%]
tests/test_cognitive/test_typescript.py::test_nested_function_nesting_reset PASSED [ 35%]
tests/test_cognitive/test_typescript.py::test_inline_arrow_increases_nesting PASSED [ 35%]
tests/test_cognitive/test_typescript.py::test_named_arrow_scored_separately PASSED [ 35%]
tests/test_cognitive/test_typescript.py::test_switch_statement PASSED    [ 35%]
tests/test_cognitive/test_typescript.py::test_method_definition PASSED   [ 36%]
tests/test_cognitive/test_typescript.py::test_comprehensive PASSED       [ 36%]
tests/test_cognitive/test_typescript.py::test_not_operator_no_increment PASSED [ 36%]
tests/test_cognitive/test_typescript.py::test_async_function PASSED      [ 36%]
tests/test_cognitive/test_typescript.py::test_generator_function PASSED  [ 36%]
tests/test_common.py::test_known_input PASSED                            [ 36%]
tests/test_common.py::test_empty_inputs PASSED                           [ 37%]
tests/test_common.py::test_zero_operands_guard PASSED                    [ 37%]
tests/test_common.py::test_zero_operators_guard PASSED                   [ 37%]
tests/test_common.py::test_effort_equals_d_times_v PASSED                [ 37%]
tests/test_common.py::test_time_equals_effort_over_18 PASSED             [ 37%]
tests/test_common.py::test_dataclass_defaults PASSED                     [ 37%]
tests/test_common.py::test_single_operator_single_operand PASSED         [ 37%]
tests/test_common.py::test_ldi_basic PASSED                              [ 38%]
tests/test_common.py::test_ldi_within_range PASSED                       [ 38%]
tests/test_common.py::test_ldi_zero_volume PASSED                        [ 38%]
tests/test_common.py::test_ldi_formula_components PASSED                 [ 38%]
tests/test_common.py::test_ldi_known_input PASSED                        [ 38%]
tests/test_common.py::test_mi_zero_volume PASSED                         [ 38%]
tests/test_common.py::test_mi_zero_loc PASSED                            [ 39%]
tests/test_common.py::test_mi_negative_volume PASSED                     [ 39%]
tests/test_common.py::test_mi_negative_loc PASSED                        [ 39%]
tests/test_common.py::test_mi_calculation PASSED                         [ 39%]
tests/test_common.py::test_ldi_negative_volume PASSED                    [ 39%]
tests/test_common_sloc.py::test_compute_sloc_multiline_comment_with_code PASSED [ 39%]
tests/test_common_sloc.py::test_compute_sloc_multiline_comment_mixed PASSED [ 39%]
tests/test_common_sloc.py::test_compute_sloc_comment_at_line_boundary PASSED [ 40%]
tests/test_common_sloc.py::test_compute_sloc_unwrap_parens_deep PASSED   [ 40%]
tests/test_common_sloc.py::test_compute_sloc_no_comments PASSED          [ 40%]
tests/test_dead_code_core.py::test_extract_imports PASSED                [ 40%]
tests/test_dead_code_core.py::test_extract_definitions PASSED            [ 40%]
tests/test_dead_code_core.py::test_extract_references PASSED             [ 40%]
tests/test_dead_code_core.py::test_unused_import PASSED                  [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_with_unused_imports PASSED [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_unused_symbols PASSED [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_dunder_methods PASSED [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_abstract_classes PASSED [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_exported_symbols PASSED [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_empty_file PASSED [ 41%]
tests/test_dead_code_core.py::test_build_cross_reference_graph_multiple_files PASSED [ 42%]
tests/test_dead_code_core.py::test_unused_import_with_alias PASSED       [ 42%]
tests/test_dead_code_core.py::test_import_with_usage PASSED              [ 42%]
tests/test_dead_code_go.py::test_unused_imports_basic PASSED             [ 42%]
tests/test_dead_code_go.py::test_blank_identifier_imports_skipped PASSED [ 42%]
tests/test_dead_code_go.py::test_dot_imports_skipped PASSED              [ 42%]
tests/test_dead_code_go.py::test_extract_definitions PASSED              [ 43%]
tests/test_dead_code_go.py::test_extract_method_definitions PASSED       [ 43%]
tests/test_dead_code_go.py::test_unused_short_var_declarations PASSED    [ 43%]
tests/test_dead_code_go.py::test_variables_in_loops PASSED               [ 43%]
tests/test_dead_code_go.py::test_exported_symbols_detection PASSED       [ 43%]
tests/test_dead_code_go.py::test_extract_references PASSED               [ 43%]
tests/test_dead_code_go.py::test_dead_functions_cross_reference PASSED   [ 43%]
tests/test_dead_code_go.py::test_interface_method_implementations PASSED [ 44%]
tests/test_dead_code_go.py::test_unused_import_detection_with_cross_ref PASSED [ 44%]
tests/test_dead_code_typescript.py::test_unused_named_imports PASSED     [ 44%]
tests/test_dead_code_typescript.py::test_unused_namespace_imports PASSED [ 44%]
tests/test_dead_code_typescript.py::test_unused_default_imports PASSED   [ 44%]
tests/test_dead_code_typescript.py::test_type_only_imports_skipped PASSED [ 44%]
tests/test_dead_code_typescript.py::test_dead_function_declarations PASSED [ 45%]
tests/test_dead_code_typescript.py::test_dead_arrow_functions PASSED     [ 45%]
tests/test_dead_code_typescript.py::test_dead_classes PASSED             [ 45%]
tests/test_dead_code_typescript.py::test_exported_functions_not_flagged PASSED [ 45%]
tests/test_dead_code_typescript.py::test_extract_method_definitions PASSED [ 45%]
tests/test_dead_code_typescript.py::test_unused_local_variables PASSED   [ 45%]
tests/test_dead_code_typescript.py::test_variables_used_in_nested_blocks PASSED [ 45%]
tests/test_dead_code_typescript.py::test_shadowing_separate_tracking PASSED [ 46%]
tests/test_dead_code_typescript.py::test_class_implementing_interface PASSED [ 46%]
tests/test_dead_code_typescript.py::test_react_component_pattern PASSED  [ 46%]
tests/test_dead_code_typescript.py::test_extract_references PASSED       [ 46%]
tests/test_dead_code_typescript.py::test_abstract_class_detection PASSED [ 46%]
tests/test_dead_code_typescript.py::test_dead_function_with_export PASSED [ 46%]
tests/test_dead_code_typescript.py::test_default_parameters PASSED       [ 47%]
tests/test_dead_code_typescript.py::test_for_loop_variables PASSED       [ 47%]
tests/test_dead_code_typescript.py::test_cross_file_dead_code_detection PASSED [ 47%]
tests/test_dtd/test_go.py::test_empty_function PASSED                    [ 47%]
tests/test_dtd/test_go.py::test_struct_literal PASSED                    [ 47%]
tests/test_dtd/test_go.py::test_slice_literal PASSED                     [ 47%]
tests/test_dtd/test_go.py::test_map_literal PASSED                       [ 47%]
tests/test_dtd/test_go.py::test_nested_composite PASSED                  [ 48%]
tests/test_dtd/test_go.py::test_nested_named_closure PASSED              [ 48%]
tests/test_dtd/test_python.py::test_empty_function PASSED                [ 48%]
tests/test_dtd/test_python.py::test_no_data_structures PASSED            [ 48%]
tests/test_dtd/test_python.py::test_flat_dict PASSED                     [ 48%]
tests/test_dtd/test_python.py::test_flat_list PASSED                     [ 48%]
tests/test_dtd/test_python.py::test_nested_dict_in_list PASSED           [ 49%]
tests/test_dtd/test_python.py::test_deeply_nested PASSED                 [ 49%]
tests/test_dtd/test_python.py::test_nested_function_skipped PASSED       [ 49%]
tests/test_dtd/test_python.py::test_dict_comprehension PASSED            [ 49%]
tests/test_dtd/test_python.py::test_list_comprehension PASSED            [ 49%]
tests/test_dtd/test_typescript.py::test_empty_function PASSED            [ 49%]
tests/test_dtd/test_typescript.py::test_flat_object PASSED               [ 50%]
tests/test_dtd/test_typescript.py::test_flat_array PASSED                [ 50%]
tests/test_dtd/test_typescript.py::test_nested_object_in_array PASSED    [ 50%]
tests/test_dtd/test_typescript.py::test_deeply_nested PASSED             [ 50%]
tests/test_dtd/test_typescript.py::test_map_call PASSED                  [ 50%]
tests/test_dtd/test_typescript.py::test_shorthand_property PASSED        [ 50%]
tests/test_dtd/test_typescript.py::test_arrow_expression_body PASSED     [ 50%]
tests/test_dtd/test_typescript.py::test_nested_named_arrow PASSED        [ 51%]
tests/test_duplication/test_core.py::test_py_identical_functions_same_type1 PASSED [ 51%]
tests/test_duplication/test_core.py::test_py_comments_ignored_type1 PASSED [ 51%]
tests/test_duplication/test_core.py::test_py_different_names_different_type1 PASSED [ 51%]
tests/test_duplication/test_core.py::test_py_docstrings_ignored_type1 PASSED [ 51%]
tests/test_duplication/test_core.py::test_py_docstrings_ignored_type2 PASSED [ 51%]
tests/test_duplication/test_core.py::test_py_comments_ignored_type2 PASSED [ 52%]
tests/test_duplication/test_core.py::test_py_renamed_identifiers_same_type2 PASSED [ 52%]
tests/test_duplication/test_core.py::test_py_different_literals_same_type2 PASSED [ 52%]
tests/test_duplication/test_core.py::test_py_structurally_different_functions PASSED [ 52%]
tests/test_duplication/test_core.py::test_py_trivial_function_returns_none PASSED [ 52%]
tests/test_duplication/test_core.py::test_ts_identical_functions_same_type1 PASSED [ 52%]
tests/test_duplication/test_core.py::test_ts_renamed_identifiers_same_type2 PASSED [ 52%]
tests/test_duplication/test_core.py::test_ts_different_literals_same_type2 PASSED [ 53%]
tests/test_duplication/test_core.py::test_ts_trivial_function_returns_none PASSED [ 53%]
tests/test_duplication/test_core.py::test_go_identical_functions_same_type1 PASSED [ 53%]
tests/test_duplication/test_core.py::test_go_renamed_identifiers_same_type2 PASSED [ 53%]
tests/test_duplication/test_core.py::test_go_different_literals_same_type2 PASSED [ 53%]
tests/test_duplication/test_core.py::test_go_trivial_function_returns_none PASSED [ 53%]
tests/test_duplication/test_core.py::test_find_duplicates_groups_type1 PASSED [ 54%]
tests/test_duplication/test_core.py::test_find_duplicates_groups_type2_only PASSED [ 54%]
tests/test_duplication/test_core.py::test_find_duplicates_type1_suppresses_type2 PASSED [ 54%]
tests/test_duplication/test_core.py::test_find_duplicates_no_clusters_for_unique PASSED [ 54%]
tests/test_duplication/test_core.py::test_find_duplicates_type2_excludes_1_liners PASSED [ 54%]
tests/test_duplication/test_core.py::test_find_duplicates_type2_detects_2_liners PASSED [ 54%]
tests/test_duplication/test_core.py::test_find_duplicates_type2_excludes_multi_line_single_statement PASSED [ 54%]
tests/test_duplication/test_core.py::test_go_statement_counting PASSED   [ 55%]
tests/test_duplication/test_core.py::test_ts_statement_counting PASSED   [ 55%]
tests/test_duplication/test_core.py::test_find_duplicates_cross_file PASSED [ 55%]
tests/test_duplication/test_core.py::test_type1_filter_by_min_lines PASSED [ 55%]
tests/test_duplication/test_core.py::test_type2_filter_by_min_lines PASSED [ 55%]
tests/test_duplication/test_core.py::test_no_filter_when_min_lines_zero PASSED [ 55%]
tests/test_duplication/test_core.py::test_combined_filters_type2 PASSED  [ 56%]
tests/test_duplication/test_core.py::test_type1_filter_by_min_stmts PASSED [ 56%]
tests/test_duplication/test_core.py::test_type2_filter_by_min_stmts PASSED [ 56%]
tests/test_duplication/test_core.py::test_no_filter_when_min_stmts_two PASSED [ 56%]
tests/test_duplication/test_core.py::test_combined_min_lines_and_min_stmts PASSED [ 56%]
tests/test_fatness/test_fatness_core.py::test_empty_inputs PASSED        [ 56%]
tests/test_fatness/test_fatness_core.py::test_single_small_file PASSED   [ 56%]
tests/test_fatness/test_fatness_core.py::test_fat_by_loc_threshold PASSED [ 57%]
tests/test_fatness/test_fatness_core.py::test_fat_by_function_count_threshold PASSED [ 57%]
tests/test_fatness/test_fatness_core.py::test_fat_by_both_thresholds PASSED [ 57%]
tests/test_fatness/test_fatness_core.py::test_fat_function_by_loc PASSED [ 57%]
tests/test_fatness/test_fatness_core.py::test_fat_function_by_param_count PASSED [ 57%]
tests/test_fatness/test_fatness_core.py::test_fat_function_by_call_count_without_call_graph PASSED [ 57%]
tests/test_fatness/test_fatness_core.py::test_fat_function_by_call_count_with_call_graph PASSED [ 58%]
tests/test_fatness/test_fatness_core.py::test_fat_function_by_all_three_thresholds PASSED [ 58%]
tests/test_fatness/test_fatness_core.py::test_multiple_files_multiple_functions PASSED [ 58%]
tests/test_fatness/test_fatness_core.py::test_external_calls_not_counted PASSED [ 58%]
tests/test_fatness/test_fatness_core.py::test_call_graph_none_returns_empty_counts PASSED [ 58%]
tests/test_fatness/test_fatness_core.py::test_duplicate_calls_counted_as_unique PASSED [ 58%]
tests/test_fatness/test_fatness_core.py::test_unique_calls_count_not_duplicate_calls PASSED [ 58%]
tests/test_fatness/test_fatness_go.py::test_zero_params PASSED           [ 59%]
tests/test_fatness/test_fatness_go.py::test_single_param PASSED          [ 59%]
tests/test_fatness/test_fatness_go.py::test_multiple_params PASSED       [ 59%]
tests/test_fatness/test_fatness_go.py::test_variadic_param PASSED        [ 59%]
tests/test_fatness/test_fatness_go.py::test_mixed_params PASSED          [ 59%]
tests/test_fatness/test_fatness_go.py::test_method_with_receiver PASSED  [ 59%]
tests/test_fatness/test_fatness_go.py::test_no_parameters_node PASSED    [ 60%]
tests/test_fatness/test_fatness_go.py::test_long_parameter_list PASSED   [ 60%]
tests/test_fatness/test_fatness_typescript.py::test_zero_params PASSED   [ 60%]
tests/test_fatness/test_fatness_typescript.py::test_single_param PASSED  [ 60%]
tests/test_fatness/test_fatness_typescript.py::test_multiple_params PASSED [ 60%]
tests/test_fatness/test_fatness_typescript.py::test_with_default_params PASSED [ 60%]
tests/test_fatness/test_fatness_typescript.py::test_with_rest_param PASSED [ 60%]
tests/test_fatness/test_fatness_typescript.py::test_long_parameter_list PASSED [ 61%]
tests/test_fatness/test_fatness_typescript.py::test_arrow_function_with_params PASSED [ 61%]
tests/test_fatness/test_fatness_typescript.py::test_arrow_function_no_params PASSED [ 61%]
tests/test_fatness/test_python.py::test_zero_params PASSED               [ 61%]
tests/test_fatness/test_python.py::test_single_param PASSED              [ 61%]
tests/test_fatness/test_python.py::test_multiple_params PASSED           [ 61%]
tests/test_fatness/test_python.py::test_with_default_params PASSED       [ 62%]
tests/test_fatness/test_python.py::test_with_keyword_only_params PASSED  [ 62%]
tests/test_fatness/test_python.py::test_with_args_kw_args PASSED         [ 62%]
tests/test_fatness/test_python.py::test_long_parameter_list PASSED       [ 62%]
tests/test_halstead/test_go.py::test_halstead_basic PASSED               [ 62%]
tests/test_halstead/test_go.py::test_halstead_short_var_declaration PASSED [ 62%]
tests/test_halstead/test_go.py::test_halstead_channel_operator PASSED    [ 62%]
tests/test_halstead/test_go.py::test_halstead_empty_source PASSED        [ 63%]
tests/test_halstead/test_python.py::test_halstead_simple_function PASSED [ 63%]
tests/test_halstead/test_python.py::test_halstead_empty_source PASSED    [ 63%]
tests/test_halstead/test_python.py::test_halstead_operators_counted PASSED [ 63%]
tests/test_halstead/test_python.py::test_halstead_volume_scales_with_code PASSED [ 63%]
tests/test_halstead/test_typescript.py::test_halstead_basic PASSED       [ 63%]
tests/test_halstead/test_typescript.py::test_halstead_strict_equality PASSED [ 64%]
tests/test_halstead/test_typescript.py::test_halstead_optional_chaining_and_nullish PASSED [ 64%]
tests/test_halstead/test_typescript.py::test_halstead_empty_source PASSED [ 64%]
tests/test_indirection/test_indirection.py::test_no_factory_functions PASSED [ 64%]
tests/test_indirection/test_indirection.py::test_simple_factory_function PASSED [ 64%]
tests/test_indirection/test_indirection.py::test_factory_with_create_in_name PASSED [ 64%]
tests/test_indirection/test_indirection.py::test_function_returns_named_function PASSED [ 64%]
tests/test_indirection/test_indirection.py::test_no_high_indirection PASSED [ 65%]
tests/test_indirection/test_indirection.py::test_high_indirection_depth PASSED [ 65%]
tests/test_indirection/test_indirection.py::test_multiple_high_indirection PASSED [ 65%]
tests/test_indirection/test_indirection.py::test_combined_patterns PASSED [ 65%]
tests/test_indirection/test_indirection.py::test_empty_file PASSED       [ 65%]
tests/test_indirection/test_indirection.py::test_function_without_calls PASSED [ 65%]
tests/test_indirection/test_indirection.py::test_nested_functions_not_counted PASSED [ 66%]
tests/test_indirection/test_indirection.py::test_lambda_factory PASSED   [ 66%]
tests/test_indirection/test_indirection.py::test_decorator_factory PASSED [ 66%]
tests/test_indirection/test_indirection.py::test_make_prefix_factory PASSED [ 66%]
tests/test_indirection/test_indirection.py::test_module_level_factory PASSED [ 66%]
tests/test_indirection/test_indirection.py::test_indirection_violations_in_result PASSED [ 66%]
tests/test_mi/test_go.py::test_trivial_function PASSED                   [ 66%]
tests/test_mi/test_go.py::test_simple_add PASSED                         [ 67%]
tests/test_mi/test_go.py::test_complex_function PASSED                   [ 67%]
tests/test_mi/test_go.py::test_empty_body PASSED                         [ 67%]
tests/test_mi/test_go.py::test_no_operators PASSED                       [ 67%]
tests/test_mi/test_go.py::test_mi_range PASSED                           [ 67%]
tests/test_mi/test_go.py::test_multiple_functions PASSED                 [ 67%]
tests/test_mi/test_python.py::test_trivial_function PASSED               [ 68%]
tests/test_mi/test_python.py::test_simple_add PASSED                     [ 68%]
tests/test_mi/test_python.py::test_complex_function PASSED               [ 68%]
tests/test_mi/test_python.py::test_empty_body PASSED                     [ 68%]
tests/test_mi/test_python.py::test_no_operators PASSED                   [ 68%]
tests/test_mi/test_python.py::test_mi_range PASSED                       [ 68%]
tests/test_mi/test_python.py::test_multiple_functions PASSED             [ 68%]
tests/test_mi/test_typescript.py::test_trivial_function PASSED           [ 69%]
tests/test_mi/test_typescript.py::test_simple_add PASSED                 [ 69%]
tests/test_mi/test_typescript.py::test_complex_function PASSED           [ 69%]
tests/test_mi/test_typescript.py::test_empty_body PASSED                 [ 69%]
tests/test_mi/test_typescript.py::test_no_operators PASSED               [ 69%]
tests/test_mi/test_typescript.py::test_mi_range PASSED                   [ 69%]
tests/test_mi/test_typescript.py::test_multiple_functions PASSED         [ 70%]
tests/test_npath/test_go.py::test_simple_function PASSED                 [ 70%]
tests/test_npath/test_go.py::test_empty_source PASSED                    [ 70%]
tests/test_npath/test_go.py::test_if_only PASSED                         [ 70%]
tests/test_npath/test_go.py::test_if_else PASSED                         [ 70%]
tests/test_npath/test_go.py::test_if_elif_else PASSED                    [ 70%]
tests/test_npath/test_go.py::test_if_elif_no_else PASSED                 [ 70%]
tests/test_npath/test_go.py::test_bool_ops_in_if PASSED                  [ 71%]
tests/test_npath/test_go.py::test_two_bool_ops PASSED                    [ 71%]
tests/test_npath/test_go.py::test_for_loop PASSED                        [ 71%]
tests/test_npath/test_go.py::test_for_range PASSED                       [ 71%]
tests/test_npath/test_go.py::test_infinite_for PASSED                    [ 71%]
tests/test_npath/test_go.py::test_switch_three_cases PASSED              [ 71%]
tests/test_npath/test_go.py::test_switch_with_default PASSED             [ 72%]
tests/test_npath/test_go.py::test_type_switch PASSED                     [ 72%]
tests/test_npath/test_go.py::test_select PASSED                          [ 72%]
tests/test_npath/test_go.py::test_select_with_default PASSED             [ 72%]
tests/test_npath/test_go.py::test_sequential_ifs PASSED                  [ 72%]
tests/test_npath/test_go.py::test_nested_if PASSED                       [ 72%]
tests/test_npath/test_go.py::test_nested_named_func_literal PASSED       [ 72%]
tests/test_npath/test_go.py::test_goroutine_inline_closure PASSED        [ 73%]
tests/test_npath/test_go.py::test_method_declaration PASSED              [ 73%]
tests/test_npath/test_python.py::test_simple_function PASSED             [ 73%]
tests/test_npath/test_python.py::test_empty_source PASSED                [ 73%]
tests/test_npath/test_python.py::test_if_only PASSED                     [ 73%]
tests/test_npath/test_python.py::test_if_else PASSED                     [ 73%]
tests/test_npath/test_python.py::test_if_elif_else PASSED                [ 74%]
tests/test_npath/test_python.py::test_if_elif_no_else PASSED             [ 74%]
tests/test_npath/test_python.py::test_bool_ops_in_if PASSED              [ 74%]
tests/test_npath/test_python.py::test_two_bool_ops PASSED                [ 74%]
tests/test_npath/test_python.py::test_for_loop PASSED                    [ 74%]
tests/test_npath/test_python.py::test_while_loop PASSED                  [ 74%]
tests/test_npath/test_python.py::test_while_with_bool_cond PASSED        [ 75%]
tests/test_npath/test_python.py::test_for_else PASSED                    [ 75%]
tests/test_npath/test_python.py::test_try_except PASSED                  [ 75%]
tests/test_npath/test_python.py::test_ternary PASSED                     [ 75%]
tests/test_npath/test_python.py::test_sequential_ifs PASSED              [ 75%]
tests/test_npath/test_python.py::test_nested_if PASSED                   [ 75%]
tests/test_npath/test_python.py::test_match_three_cases PASSED           [ 75%]
tests/test_npath/test_python.py::test_match_with_wildcard PASSED         [ 76%]
tests/test_npath/test_python.py::test_nested_ternary PASSED              [ 76%]
tests/test_npath/test_python.py::test_nested_function PASSED             [ 76%]
tests/test_npath/test_python.py::test_with_statement PASSED              [ 76%]
tests/test_npath/test_python.py::test_lambda_ternary PASSED              [ 76%]
tests/test_npath/test_typescript.py::test_simple_function PASSED         [ 76%]
tests/test_npath/test_typescript.py::test_empty_source PASSED            [ 77%]
tests/test_npath/test_typescript.py::test_if_only PASSED                 [ 77%]
tests/test_npath/test_typescript.py::test_if_else PASSED                 [ 77%]
tests/test_npath/test_typescript.py::test_if_elif_else PASSED            [ 77%]
tests/test_npath/test_typescript.py::test_if_elif_no_else PASSED         [ 77%]
tests/test_npath/test_typescript.py::test_bool_ops_in_if PASSED          [ 77%]
tests/test_npath/test_typescript.py::test_two_bool_ops PASSED            [ 77%]
tests/test_npath/test_typescript.py::test_for_loop PASSED                [ 78%]
tests/test_npath/test_typescript.py::test_while_loop PASSED              [ 78%]
tests/test_npath/test_typescript.py::test_while_with_bool_cond PASSED    [ 78%]
tests/test_npath/test_typescript.py::test_do_while PASSED                [ 78%]
tests/test_npath/test_typescript.py::test_do_while_with_bool_cond PASSED [ 78%]
tests/test_npath/test_typescript.py::test_try_catch PASSED               [ 78%]
tests/test_npath/test_typescript.py::test_switch_three_cases PASSED      [ 79%]
tests/test_npath/test_typescript.py::test_switch_with_default PASSED     [ 79%]
tests/test_npath/test_typescript.py::test_ternary PASSED                 [ 79%]
tests/test_npath/test_typescript.py::test_nested_ternary PASSED          [ 79%]
tests/test_npath/test_typescript.py::test_sequential_ifs PASSED          [ 79%]
tests/test_npath/test_typescript.py::test_nested_if PASSED               [ 79%]
tests/test_npath/test_typescript.py::test_named_arrow PASSED             [ 79%]
tests/test_npath/test_typescript.py::test_nested_named_arrow PASSED      [ 80%]
tests/test_npath/test_typescript.py::test_method_definition PASSED       [ 80%]
tests/test_npath/test_typescript.py::test_for_in_loop PASSED             [ 80%]
tests/test_patterns/test_loops.py::test_basic_two_consecutive_calls PASSED [ 80%]
tests/test_patterns/test_loops.py::test_three_consecutive_calls PASSED   [ 80%]
tests/test_patterns/test_loops.py::test_multiline_calls PASSED           [ 80%]
tests/test_patterns/test_loops.py::test_different_objects_no_violation PASSED [ 81%]
tests/test_patterns/test_loops.py::test_different_methods_no_violation PASSED [ 81%]
tests/test_patterns/test_loops.py::test_single_call_no_violation PASSED  [ 81%]
tests/test_patterns/test_loops.py::test_non_consecutive_calls_no_violation PASSED [ 81%]
tests/test_patterns/test_loops.py::test_multiple_groups PASSED           [ 81%]
tests/test_patterns/test_loops.py::test_calls_with_comments_between PASSED [ 81%]
tests/test_patterns/test_loops.py::test_empty_code PASSED                [ 81%]
tests/test_patterns/test_loops.py::test_no_method_calls PASSED           [ 82%]
tests/test_patterns/test_loops.py::test_function_calls_not_method_calls PASSED [ 82%]
tests/test_patterns/test_loops.py::test_chained_method_calls PASSED      [ 82%]
tests/test_patterns/test_loops.py::test_registered_in_shared_patterns PASSED [ 82%]
tests/test_patterns/test_loops.py::test_ignore_comment PASSED            [ 82%]
tests/test_patterns/test_loops.py::test_ignore_comment_snake_case PASSED [ 82%]
tests/test_patterns/test_loops.py::test_violation_line_number PASSED     [ 83%]
tests/test_patterns/test_loops.py::test_severity_is_info PASSED          [ 83%]
tests/test_patterns/test_loops.py::test_inside_function PASSED           [ 83%]
tests/test_patterns/test_loops.py::test_inside_class_method PASSED       [ 83%]
tests/test_patterns/test_loops.py::test_mixed_consecutive_and_non_consecutive PASSED [ 83%]
tests/test_patterns/test_loops.py::test_basic_three_consecutive_function_calls PASSED [ 83%]
tests/test_patterns/test_loops.py::test_two_consecutive_function_calls PASSED [ 83%]
tests/test_patterns/test_loops.py::test_different_functions_no_violation PASSED [ 84%]
tests/test_patterns/test_loops.py::test_mixed_method_and_function_calls PASSED [ 84%]
tests/test_patterns/test_loops.py::test_function_call_vs_method_call_no_crossover PASSED [ 84%]
tests/test_patterns/test_python.py::test_nested_imports PASSED           [ 84%]
tests/test_patterns/test_python.py::test_no_nested_imports PASSED        [ 84%]
tests/test_patterns/test_python.py::test_wildcard_imports PASSED         [ 84%]
tests/test_patterns/test_python.py::test_no_wildcard_imports PASSED      [ 85%]
tests/test_patterns/test_python.py::test_module_level_function_call PASSED [ 85%]
tests/test_patterns/test_python.py::test_module_level_assignment PASSED  [ 85%]
tests/test_patterns/test_python.py::test_inside_main_guard PASSED        [ 85%]
tests/test_patterns/test_python.py::test_inside_type_checking PASSED     [ 85%]
tests/test_patterns/test_python.py::test_function_definitions_allowed PASSED [ 85%]
tests/test_patterns/test_python.py::test_imports_allowed PASSED          [ 85%]
tests/test_patterns/test_python.py::test_module_level_for_loop PASSED    [ 86%]
tests/test_patterns/test_python.py::test_nested_main_guard PASSED        [ 86%]
tests/test_patterns/test_python.py::test_constant_assignment PASSED      [ 86%]
tests/test_patterns/test_python.py::test_assignment_with_execution PASSED [ 86%]
tests/test_patterns/test_python.py::test_nested_import_in_type_checking_block PASSED [ 86%]
tests/test_patterns/test_python.py::test_nested_import_in_class_method_type_checking PASSED [ 86%]
tests/test_patterns/test_python.py::test_module_level_while_loop PASSED  [ 87%]
tests/test_patterns/test_python.py::test_module_level_try_statement PASSED [ 87%]
tests/test_patterns/test_python.py::test_module_level_with_statement PASSED [ 87%]
tests/test_patterns/test_python.py::test_module_level_if_statements_allowed PASSED [ 87%]
tests/test_patterns/test_python.py::test_involves_execution_with_builtins PASSED [ 87%]
tests/test_patterns/test_python.py::test_module_level_call_in_nested_if PASSED [ 87%]
tests/test_patterns/test_python.py::test_nested_type_checking_import_detection PASSED [ 87%]
tests/test_patterns/test_python.py::test_constant_assignment_with_dict_literal PASSED [ 88%]
tests/test_patterns/test_python.py::test_constant_assignment_with_set_literal PASSED [ 88%]
tests/test_patterns/test_python.py::test_comment_only_lines PASSED       [ 88%]
tests/test_patterns/test_python.py::test_standalone_identifier PASSED    [ 88%]
tests/test_patterns/test_python.py::test_standalone_string PASSED        [ 88%]
tests/test_patterns/test_python.py::test_standalone_number PASSED        [ 88%]
tests/test_patterns/test_python.py::test_standalone_float PASSED         [ 89%]
tests/test_patterns/test_python.py::test_standalone_true_false_none PASSED [ 89%]
tests/test_patterns/test_python.py::test_binary_operator_expression PASSED [ 89%]
tests/test_patterns/test_python.py::test_ignore_comment_kebab_case PASSED [ 89%]
tests/test_patterns/test_python.py::test_ignore_comment_snake_case PASSED [ 89%]
tests/test_patterns/test_typescript.py::test_any_type_basic PASSED       [ 89%]
tests/test_patterns/test_typescript.py::test_any_type_not_flagged PASSED [ 89%]
tests/test_patterns/test_typescript.py::test_non_null_assertion_basic PASSED [ 90%]
tests/test_patterns/test_typescript.py::test_non_null_not_flagged PASSED [ 90%]
tests/test_patterns/test_typescript.py::test_as_assertion_basic PASSED   [ 90%]
tests/test_patterns/test_typescript.py::test_as_assertion_not_flagged PASSED [ 90%]
tests/test_patterns/test_typescript.py::test_angle_assertion_basic PASSED [ 90%]
tests/test_patterns/test_typescript.py::test_angle_assertion_tsx_skip PASSED [ 90%]
tests/test_patterns/test_typescript.py::test_enum_declaration_basic PASSED [ 91%]
tests/test_patterns/test_typescript.py::test_enum_not_flagged PASSED     [ 91%]
tests/test_patterns/test_typescript.py::test_function_type_basic PASSED  [ 91%]
tests/test_patterns/test_typescript.py::test_function_type_not_flagged PASSED [ 91%]
tests/test_patterns/test_typescript.py::test_missing_readonly_basic PASSED [ 91%]
tests/test_patterns/test_typescript.py::test_missing_readonly_with_readonly PASSED [ 91%]
tests/test_patterns/test_typescript.py::test_missing_readonly_not_in_param PASSED [ 91%]
tests/test_patterns/test_typescript.py::test_all_patterns PASSED         [ 92%]
tests/test_patterns/test_typescript.py::test_all_patterns_tsx PASSED     [ 92%]
tests/test_patterns/test_typescript.py::test_check_patterns_integration PASSED [ 92%]
tests/test_patterns/test_typescript.py::test_ignore_comment_any_type PASSED [ 92%]
tests/test_patterns/test_typescript.py::test_ignore_comment_non_null PASSED [ 92%]
tests/test_patterns/test_typescript.py::test_ignore_comment_multiple PASSED [ 92%]
tests/test_patterns/test_typescript.py::test_ignore_comment_as_assertion PASSED [ 93%]
tests/test_patterns/test_typescript.py::test_ignore_comment_enum PASSED  [ 93%]
tests/test_patterns/test_typescript.py::test_analyzer_integration PASSED [ 93%]
tests/test_patterns/test_typescript.py::test_analyzer_tsx_skips_angle PASSED [ 93%]
tests/test_patterns/test_typescript.py::test_private_keyword_field PASSED [ 93%]
tests/test_patterns/test_typescript.py::test_private_keyword_method PASSED [ 93%]
tests/test_patterns/test_typescript.py::test_private_keyword_not_flagged PASSED [ 93%]
tests/test_patterns/test_typescript.py::test_non_arrow_method_basic PASSED [ 94%]
tests/test_patterns/test_typescript.py::test_non_arrow_method_arrow_not_flagged PASSED [ 94%]
tests/test_patterns/test_typescript.py::test_non_arrow_method_getter_setter_not_flagged PASSED [ 94%]
tests/test_patterns/test_typescript.py::test_non_arrow_method_private_not_flagged PASSED [ 94%]
tests/test_patterns/test_typescript.py::test_all_patterns_includes_new PASSED [ 94%]
tests/test_patterns/test_typescript.py::test_ignore_comment_private_keyword PASSED [ 94%]
tests/test_patterns/test_typescript.py::test_ignore_comment_non_arrow_method PASSED [ 95%]
tests/test_patterns/test_typescript.py::test_empty_interface_basic PASSED [ 95%]
tests/test_patterns/test_typescript.py::test_empty_interface_with_members_not_flagged PASSED [ 95%]
tests/test_patterns/test_typescript.py::test_empty_interface_extends PASSED [ 95%]
tests/test_patterns/test_typescript.py::test_wrapper_type_basic PASSED   [ 95%]
tests/test_patterns/test_typescript.py::test_wrapper_type_primitives_not_flagged PASSED [ 95%]
tests/test_patterns/test_typescript.py::test_wrapper_type_function_params PASSED [ 95%]
tests/test_patterns/test_typescript.py::test_wrapper_type_generic_not_flagged PASSED [ 96%]
tests/test_patterns/test_typescript.py::test_all_patterns_includes_empty_interface PASSED [ 96%]
tests/test_patterns/test_typescript.py::test_all_patterns_includes_wrapper_type PASSED [ 96%]
tests/test_patterns/test_typescript.py::test_ignore_comment_empty_interface PASSED [ 96%]
tests/test_patterns/test_typescript.py::test_ignore_comment_wrapper_type PASSED [ 96%]
tests/test_patterns/test_typescript.py::test_double_casting_basic PASSED [ 96%]
tests/test_patterns/test_typescript.py::test_double_casting_chained PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_double_casting_single_not_flagged PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_double_casting_triple PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_any_generic_constraint_basic PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_any_generic_constraint_complex PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_any_generic_constraint_object_not_flagged PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_any_generic_constraint_no_constraint_not_flagged PASSED [ 97%]
tests/test_patterns/test_typescript.py::test_any_generic_constraint_other_types_not_flagged PASSED [ 98%]
tests/test_patterns/test_typescript.py::test_over_optional_interface_basic PASSED [ 98%]
tests/test_patterns/test_typescript.py::test_over_optional_interface_many_properties PASSED [ 98%]
tests/test_patterns/test_typescript.py::test_over_optional_interface_mixed_not_flagged PASSED [ 98%]
tests/test_patterns/test_typescript.py::test_over_optional_interface_single_optional_not_flagged PASSED [ 98%]
tests/test_patterns/test_typescript.py::test_over_optional_interface_all_required_not_flagged PASSED [ 98%]
tests/test_patterns/test_typescript.py::test_over_optional_interface_with_methods PASSED [ 99%]
tests/test_patterns/test_typescript.py::test_all_patterns_includes_double_casting PASSED [ 99%]
tests/test_patterns/test_typescript.py::test_all_patterns_includes_any_generic_constraint PASSED [ 99%]
tests/test_patterns/test_typescript.py::test_all_patterns_includes_over_optional_interface PASSED [ 99%]
tests/test_patterns/test_typescript.py::test_ignore_comment_double_casting PASSED [ 99%]
tests/test_patterns/test_typescript.py::test_ignore_comment_any_generic_constraint PASSED [ 99%]
tests/test_patterns/test_typescript.py::test_ignore_comment_over_optional_interface PASSED [100%]

============================= 648 passed in 5.12s ==============================
