Coverage report: 86%

Files Functions Classes

coverage.py v7.10.7, created at 2026-06-23 21:51 +0000

File function statements missing excluded branches partial coverage
backend/ahuora-builder-types/src/ahuora_builder_types/__init__.py (no function) 4 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/arc_schema.py (no function) 12 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/custom_package_schema.py (no function) 28 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/flowsheet_schema.py default_time_set 1 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/flowsheet_schema.py (no function) 39 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/id_types.py (no function) 6 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/payloads/__init__.py (no function) 1 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/payloads/build_state_request_schema.py BuildStateCompletionPayload.from_response 1 1 0 0 0 0%
backend/ahuora-builder-types/src/ahuora_builder_types/payloads/build_state_request_schema.py (no function) 28 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/payloads/ml_request_schema.py MLTrainingCompletionPayload.validate_status_payload 8 3 0 8 3 62%
backend/ahuora-builder-types/src/ahuora_builder_types/payloads/ml_request_schema.py (no function) 33 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/payloads/solve_request_schema.py (no function) 28 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/scenario_schema.py (no function) 11 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/unit_model_schema.py (no function) 52 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/Compound.py Compound.__init__ 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/Compound.py Compound.name 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/Compound.py (no function) 4 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/CompoundDB.py get_compound 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/CompoundDB.py get_compounds 5 5 0 2 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundDB.py get_compound_names 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundDB.py search_compounds 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundDB.py (no function) 17 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry.__init__ 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry.compounds 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry.packages 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry.register_package 3 1 0 2 1 60%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry.register_compound 2 0 0 2 0 100%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry.bind 4 1 0 2 1 67%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry._get_package 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry._get_compound 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry._get_compound_names 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry._get_supported_packages 5 5 0 4 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry._get_supported_compounds 11 11 0 8 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py CompoundRegistry._search_compounds 4 4 0 2 0 0%
backend/ahuora-compounds/ahuora_compounds/CompoundRegistry.py (no function) 18 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.__init__ 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.compounds 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.name 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.register_compound 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.unregister_compound 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.check_registered 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.check_supported_compounds 4 4 0 2 0 0%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.check_supported_compound 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py PropertyPackage.get_compound_phases 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_compounds/PropertyPackage.py (no function) 13 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.__init__ 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.search_compounds 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.get_compound_names 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.get_compound 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.get_supported_packages 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.get_supported_compounds 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py RegistrySearch.get_package 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_compounds/RegistrySearch.py (no function) 10 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/__init__.py deprecated 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/__init__.py deprecated.decorator 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/__init__.py deprecated.decorator.wrapper 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/__init__.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/__init__.py load_packages 7 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/__init__.py (no function) 9 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/chemsep.py register 7 0 0 4 1 91%
backend/ahuora-compounds/ahuora_compounds/packages/chemsep.py convert_string_to_float 4 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/chemsep.py parse_element 6 2 0 2 0 75%
backend/ahuora-compounds/ahuora_compounds/packages/chemsep.py parse_coeff 8 0 0 6 1 93%
backend/ahuora-compounds/ahuora_compounds/packages/chemsep.py load_compound 4 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/chemsep.py (no function) 61 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/helmholtz.py register 4 0 0 2 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/helmholtz.py (no function) 4 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/humid_air.py register 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/humid_air.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/milk.py register 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/milk.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/reaction.py register 15 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/reaction.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/saltwater.py register 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/saltwater.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/seawater.py register 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_compounds/packages/seawater.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/base/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlockData.constrain 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlockData.constrain_component 10 10 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlockData.add_extra_expressions 8 8 0 8 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py _convert_expression_to_var 13 13 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py _solve_block 10 10 0 8 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlock._deactivate_additional_constraints 7 7 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlock._reactivate_additional_constraints 2 2 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlock.pre_initialize 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlock.post_initialize 13 13 0 10 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlock.post_release_state 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py (no function) 26 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_builder.py build_helmholtz_package 8 8 0 6 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_builder.py (no function) 6 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py _ExtendedStateBlock.initialize 24 24 0 8 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py _ExtendedStateBlock.release_state 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py set_vapor_frac_guesses 6 6 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py HelmholtzExtendedStateBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py HelmholtzExtendedStateBlockData.constrain_component 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py HelmholtzExtendedStateBlockData.add_extra_expressions 7 7 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py HelmholtzExtendedParameterBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py (no function) 22 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/parameters/__init__.py register_compounds 5 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/parameters/__init__.py (no function) 7 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/utils/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/utils/fix_state_vars.py fix_state_vars 35 35 0 30 0 0%
backend/ahuora-compounds/ahuora_property_packages/utils/fix_state_vars.py (no function) 3 0 0 0 0 100%
backend/common/src/common/__init__.py (no function) 1 0 0 0 0 100%
backend/common/src/common/config_types.py PropertiesType.__iter__ 1 0 0 0 0 100%
backend/common/src/common/config_types.py PropertiesType.__getitem__ 1 0 0 0 0 100%
backend/common/src/common/config_types.py PropertiesType.get 1 0 0 0 0 100%
backend/common/src/common/config_types.py PropertiesType.items 1 0 0 0 0 100%
backend/common/src/common/config_types.py PropertiesType.keys 1 0 0 0 0 100%
backend/common/src/common/config_types.py (no function) 67 0 0 0 0 100%
backend/common/src/common/config_utils.py default_property_package_ports 1 0 0 0 0 100%
backend/common/src/common/config_utils.py default_ports 1 0 0 0 0 100%
backend/common/src/common/config_utils.py unitop_graphic 1 0 0 0 0 100%
backend/common/src/common/config_utils.py stream_graphic 1 0 0 0 0 100%
backend/common/src/common/config_utils.py (no function) 6 0 0 0 0 100%
backend/common/src/common/models/__init__.py (no function) 1 0 0 0 0 100%
backend/common/src/common/models/cloud_events.py (no function) 17 0 0 0 0 100%
backend/common/src/common/models/general.py (no function) 6 0 0 0 0 100%
backend/common/src/common/models/idaes/__init__.py (no function) 0 0 0 0 0 100%
backend/common/src/common/models/idaes/payloads/__init__.py (no function) 0 0 0 0 0 100%
backend/common/src/common/models/idaes/payloads/build_state_request_schema.py (no function) 4 0 0 0 0 100%
backend/common/src/common/models/idaes/payloads/ml_request_schema.py (no function) 6 0 0 0 0 100%
backend/common/src/common/models/idaes/payloads/solve_request_schema.py (no function) 13 0 0 0 0 100%
backend/common/src/common/models/notifications/__init__.py (no function) 1 0 0 0 0 100%
backend/common/src/common/models/notifications/payloads.py (no function) 28 0 0 0 0 100%
backend/common/src/common/models/pinch_import.py (no function) 12 0 0 0 0 100%
backend/common/src/common/models/scenario_import.py (no function) 12 0 0 0 0 100%
backend/common/src/common/models/solve_completion_email.py (no function) 26 0 0 0 0 100%
backend/common/src/common/services/__init__.py (no function) 0 0 0 0 0 100%
backend/common/src/common/services/csv.py decode_csv_bytes 4 2 0 0 0 50%
backend/common/src/common/services/csv.py detect_delimiter 20 3 0 8 3 79%
backend/common/src/common/services/csv.py inspect_csv_sample 12 1 0 6 1 89%
backend/common/src/common/services/csv.py stream_csv_rows 8 2 0 4 2 67%
backend/common/src/common/services/csv.py parse_float_cell 9 1 0 4 1 85%
backend/common/src/common/services/csv.py parse_numeric_row 1 0 0 0 0 100%
backend/common/src/common/services/csv.py filter_numeric_headers_by_first_row 14 2 0 4 1 83%
backend/common/src/common/services/csv.py (no function) 23 0 0 0 0 100%
backend/common/src/common/services/messaging.py _send_message 5 0 0 2 0 100%
backend/common/src/common/services/messaging.py _get_dapr_tracing_headers 6 0 0 2 0 100%
backend/common/src/common/services/messaging.py send_idaes_solve_message 2 0 0 0 0 100%
backend/common/src/common/services/messaging.py send_idaes_build_state_request_message 1 0 0 0 0 100%
backend/common/src/common/services/messaging.py send_idaes_build_state_response_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_idaes_solve_completion_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_dispatch_multi_solve_message 1 0 0 0 0 100%
backend/common/src/common/services/messaging.py send_ml_training_message 1 0 0 0 0 100%
backend/common/src/common/services/messaging.py send_ml_training_completion_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_scenario_csv_import_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_pinch_utility_csv_import_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_solve_completion_email_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_task_running_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_task_cancel_message 1 0 0 0 0 100%
backend/common/src/common/services/messaging.py send_task_cancelled_message 1 1 0 0 0 0%
backend/common/src/common/services/messaging.py send_flowsheet_notification_message 3 0 0 0 0 100%
backend/common/src/common/services/messaging.py send_flowsheet_notification_messages 2 0 0 0 0 100%
backend/common/src/common/services/messaging.py (no function) 50 0 0 0 0 100%
backend/common/src/common/services/task_cancellation_state.py _task_cancellation_key 1 0 0 0 0 100%
backend/common/src/common/services/task_cancellation_state.py cache_cancelled_tasks 11 1 0 2 1 85%
backend/common/src/common/services/task_cancellation_state.py cache_cancelled_task 1 1 0 0 0 0%
backend/common/src/common/services/task_cancellation_state.py find_cancelled_task_id 14 14 0 6 0 0%
backend/common/src/common/services/task_cancellation_state.py (no function) 14 0 0 0 0 100%
backend/django/CoreRoot/__init__.py (no function) 0 0 0 0 0 100%
backend/django/CoreRoot/asgi.py QueryParamsMiddleware.__call__ 3 0 0 0 0 100%
backend/django/CoreRoot/asgi.py (no function) 20 0 0 0 0 100%
backend/django/CoreRoot/helpers.py get_asgi_header_value 6 0 0 0 0 100%
backend/django/CoreRoot/helpers.py initialise_tracing 7 0 0 0 0 100%
backend/django/CoreRoot/helpers.py (no function) 13 0 0 0 0 100%
backend/django/CoreRoot/settings.py _get_seaweed_s3_settings 2 0 0 0 0 100%
backend/django/CoreRoot/settings.py __insert_middleware 2 0 0 0 0 100%
backend/django/CoreRoot/settings.py set_dapr_endpoints 5 0 0 4 0 100%
backend/django/CoreRoot/settings.py (no function) 115 9 0 20 7 87%
backend/django/CoreRoot/urls.py (no function) 42 1 0 4 2 93%
backend/django/Economics/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/apps.py EconomicsConfig.import_models 3 0 0 2 0 100%
backend/django/Economics/apps.py (no function) 6 0 0 0 0 100%
backend/django/Economics/costing/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/costing/capital/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/costing/capital/capital_line_sources.py (no function) 2 0 0 0 0 100%
backend/django/Economics/costing/capital/custom_capital_lines.py base_capex_for_custom_percentage_lines 5 1 0 2 1 71%
backend/django/Economics/costing/capital/custom_capital_lines.py resolved_capital_line_amount 7 7 0 2 0 0%
backend/django/Economics/costing/capital/custom_capital_lines.py sync_custom_capital_lines 42 19 0 22 4 48%
backend/django/Economics/costing/capital/custom_capital_lines.py _percentage_warning_payload 2 0 0 0 0 100%
backend/django/Economics/costing/capital/custom_capital_lines.py _result_amount 3 1 0 2 1 60%
backend/django/Economics/costing/capital/custom_capital_lines.py json_ready 7 0 0 6 0 100%
backend/django/Economics/costing/capital/custom_capital_lines.py (no function) 14 0 0 0 0 100%
backend/django/Economics/costing/capital/electrical_upgrade.py peak_demand_for_unit_capital_line 1 0 0 0 0 100%
backend/django/Economics/costing/capital/electrical_upgrade.py derive_peak_demand_basis 9 0 0 4 0 100%
backend/django/Economics/costing/capital/electrical_upgrade.py unit_work_peak_demand_kw 17 0 0 10 0 100%
backend/django/Economics/costing/capital/electrical_upgrade.py _is_peak_demand_work_property 5 1 0 2 1 71%
backend/django/Economics/costing/capital/electrical_upgrade.py _work_property_peak_kw 13 2 0 6 2 79%
backend/django/Economics/costing/capital/electrical_upgrade.py (no function) 26 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _sync_generated_capital_lines 11 0 0 4 0 100%
backend/django/Economics/costing/capital/generated_lines.py _sync_generated_capital_line 29 2 0 14 1 93%
backend/django/Economics/costing/capital/generated_lines.py sync_generated_capital_lines_for_property 19 0 0 10 1 97%
backend/django/Economics/costing/capital/generated_lines.py _generated_capital_line_fields 41 0 0 8 1 98%
backend/django/Economics/costing/capital/generated_lines.py _pending_generated_capital_line_fields 2 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _curve_required_driver_specs 1 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _curve_required_driver_specs_payload 1 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _default_driver_inputs 1 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _reconciled_driver_inputs 8 0 0 2 0 100%
backend/django/Economics/costing/capital/generated_lines.py _driver_input_matches_spec 9 2 0 4 0 85%
backend/django/Economics/costing/capital/generated_lines.py _driver_inputs_reference_property 3 1 0 2 1 60%
backend/django/Economics/costing/capital/generated_lines.py _capital_factor_row 1 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _resolved_driver_inputs 22 3 0 16 4 82%
backend/django/Economics/costing/capital/generated_lines.py spec_property_info 12 2 0 2 0 86%
backend/django/Economics/costing/capital/generated_lines.py _flow_capacity_warnings 23 4 0 14 4 78%
backend/django/Economics/costing/capital/generated_lines.py _flow_capacity_property_key 7 3 0 6 1 54%
backend/django/Economics/costing/capital/generated_lines.py _inlet_flow_capacity_overage 27 6 0 16 6 72%
backend/django/Economics/costing/capital/generated_lines.py _convert_decimal_value 8 4 0 2 1 50%
backend/django/Economics/costing/capital/generated_lines.py _decimal_or_none 6 3 0 2 1 50%
backend/django/Economics/costing/capital/generated_lines.py _base_curve_detail 3 0 0 2 0 100%
backend/django/Economics/costing/capital/generated_lines.py _cost_curve_error_warning 3 1 0 2 1 60%
backend/django/Economics/costing/capital/generated_lines.py (no function) 41 0 0 0 0 100%
backend/django/Economics/costing/capital/lang_factors.py resolve_lang_factor 15 2 0 10 1 88%
backend/django/Economics/costing/capital/lang_factors.py _default_for_mapping 8 0 0 6 2 86%
backend/django/Economics/costing/capital/lang_factors.py _global_default 4 1 0 2 1 67%
backend/django/Economics/costing/capital/lang_factors.py _resolution_from_default 1 0 0 0 0 100%
backend/django/Economics/costing/capital/lang_factors.py _default_source 3 1 0 2 1 60%
backend/django/Economics/costing/capital/lang_factors.py (no function) 21 0 0 0 0 100%
backend/django/Economics/costing/capital/serializers.py CapitalCostDriverInputField.to_representation 3 1 0 2 1 60%
backend/django/Economics/costing/capital/serializers.py CapitalCostLineSerializer.validate 53 5 0 40 6 88%
backend/django/Economics/costing/capital/serializers.py CapitalCostLineSerializer.create 2 0 0 0 0 100%
backend/django/Economics/costing/capital/serializers.py CapitalCostLineSerializer.update 2 0 0 0 0 100%
backend/django/Economics/costing/capital/serializers.py _normalize_capital_line_values 5 0 0 4 0 100%
backend/django/Economics/costing/capital/serializers.py _normalized_capital_cost_driver_inputs 4 2 0 0 0 50%
backend/django/Economics/costing/capital/serializers.py _validate_capital_line_driver_inputs_for_curve 23 6 0 12 4 71%
backend/django/Economics/costing/capital/serializers.py _reconciled_capital_line_driver_inputs_for_curve 17 5 0 4 1 71%
backend/django/Economics/costing/capital/serializers.py _units_are_compatible 4 2 0 0 0 50%
backend/django/Economics/costing/capital/serializers.py _validate_driver_input_property 16 4 0 6 2 73%
backend/django/Economics/costing/capital/serializers.py (no function) 30 0 0 0 0 100%
backend/django/Economics/costing/capital/viewsets.py CapitalCostLineViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/costing/capital/viewsets.py CapitalCostLineViewSet.update 7 0 0 0 0 100%
backend/django/Economics/costing/capital/viewsets.py CapitalCostLineViewSet.perform_update 6 0 0 4 1 90%
backend/django/Economics/costing/capital/viewsets.py (no function) 13 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _template 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _default_formula_input_label 19 3 0 18 1 84%
backend/django/Economics/costing/cost_curves/catalog.py _formula_input_spec 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _selector_spec 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _discrete_variant 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _discrete_family_template 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _vessel_template 1 1 0 0 0 0%
backend/django/Economics/costing/cost_curves/catalog.py _horizontal_vessel_templates 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _vertical_vessel_templates 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py _plate_hx_discrete_templates 4 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/catalog.py cost_curve_equipment_categories 17 2 0 12 3 83%
backend/django/Economics/costing/cost_curves/catalog.py cost_curve_category_requires_subtype 12 3 0 8 3 70%
backend/django/Economics/costing/cost_curves/catalog.py (no function) 62 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py cost_driver_property_options 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _cost_driver_property_options 18 2 0 10 2 86%
backend/django/Economics/costing/cost_curves/driver_properties.py preview_or_apply_bulk_equipment_setup 32 0 0 16 4 92%
backend/django/Economics/costing/cost_curves/driver_properties.py _curve_status 5 2 0 4 2 56%
backend/django/Economics/costing/cost_curves/driver_properties.py _recommended_sizing_result 11 3 0 8 3 68%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_input_results 8 3 0 2 1 60%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_input_result 21 6 0 16 6 68%
backend/django/Economics/costing/cost_curves/driver_properties.py apply_bulk_driver_inputs 20 3 0 10 4 77%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_inputs_payload_for_results 16 4 0 8 2 75%
backend/django/Economics/costing/cost_curves/driver_properties.py _blank_driver_input 1 1 0 0 0 0%
backend/django/Economics/costing/cost_curves/driver_properties.py _default_bulk_driver_input_mode 7 4 0 6 2 38%
backend/django/Economics/costing/cost_curves/driver_properties.py _recommended_property_option 2 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _recommended_property_option_for_unit 10 1 0 8 1 89%
backend/django/Economics/costing/cost_curves/driver_properties.py _generated_line_for_mapping 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _generated_line_driver_inputs 7 2 0 2 0 78%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_input_has_value 8 2 0 6 2 71%
backend/django/Economics/costing/cost_curves/driver_properties.py _primary_formula_input_unit 8 3 0 2 1 60%
backend/django/Economics/costing/cost_curves/driver_properties.py _bulk_equipment_category 6 4 0 4 1 30%
backend/django/Economics/costing/cost_curves/driver_properties.py validate_cost_driver_property 3 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py normalize_property_cost_driver 8 1 0 4 1 83%
backend/django/Economics/costing/cost_curves/driver_properties.py apply_recommended_property_for_mapping 13 0 0 8 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _registry_payload_for_property 12 1 0 10 1 91%
backend/django/Economics/costing/cost_curves/driver_properties.py _connected_streams 2 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _property_options_for_object 5 1 0 2 1 71%
backend/django/Economics/costing/cost_curves/driver_properties.py _option 3 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _is_scalar 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _is_manual_override_property 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py manual_property_for_costable_item 12 4 0 6 2 67%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_equipment_category 8 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _recommendation_label 12 0 0 8 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py preferred_property_matches_property_info 6 0 0 4 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _rule_for_driver 7 1 0 6 1 85%
backend/django/Economics/costing/cost_curves/driver_properties.py _category_label 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py (no function) 101 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDriverSpec._required_text 4 1 0 2 1 67%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDriverSpec._optional_text 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDriverSpec._normalize_unit 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDriverSpec._validate_role_fields 9 2 0 8 2 76%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDiscreteVariant._required_text 4 1 0 2 1 67%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDiscreteVariant._optional_text 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDiscreteVariant._selector_values 9 1 0 4 1 85%
backend/django/Economics/costing/cost_curves/driver_specs.py CostCurveDiscreteVariant._validate_optional_numbers 5 0 0 4 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CapitalCostDriverInput.from_spec_default 5 0 0 4 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CapitalCostDriverInput._manual_value_text 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py CapitalCostDriverInput._input_unit 4 1 0 2 1 67%
backend/django/Economics/costing/cost_curves/driver_specs.py parse_required_driver_specs 24 6 0 16 6 70%
backend/django/Economics/costing/cost_curves/driver_specs.py normalize_required_driver_specs 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py _specs_with_generated_keys 17 3 0 8 2 80%
backend/django/Economics/costing/cost_curves/driver_specs.py _generated_driver_spec_key 7 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py _slug_value 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py parse_discrete_variants 9 2 0 6 2 73%
backend/django/Economics/costing/cost_curves/driver_specs.py normalize_discrete_variants 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py normalize_capital_cost_driver_inputs 3 1 0 2 1 60%
backend/django/Economics/costing/cost_curves/driver_specs.py driver_specs_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py driver_specs_read_payload 1 1 0 0 0 0%
backend/django/Economics/costing/cost_curves/driver_specs.py default_driver_inputs_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py driver_spec_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py driver_spec_read_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py discrete_variant_payload 1 1 0 0 0 0%
backend/django/Economics/costing/cost_curves/driver_specs.py capital_cost_driver_input_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_specs.py _parse_decimal_text 7 3 0 2 1 56%
backend/django/Economics/costing/cost_curves/driver_specs.py (no function) 99 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py CostCurveEvaluationResult.warnings_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py CostCurveEvaluationError.__init__ 4 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py evaluate_cost_curve 35 3 0 12 3 87%
backend/django/Economics/costing/cost_curves/evaluation.py cost_curve_units_compatible 8 2 0 2 0 80%
backend/django/Economics/costing/cost_curves/evaluation.py normalize_economics_unit_notation 3 1 0 2 1 60%
backend/django/Economics/costing/cost_curves/evaluation.py _build_curve_formula 5 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _append_spec_range_warnings 6 1 0 4 1 80%
backend/django/Economics/costing/cost_curves/evaluation.py _append_cost_basis_warnings 4 0 0 4 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _source_metadata 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _coerce_curve_input_value 8 2 0 4 0 83%
backend/django/Economics/costing/cost_curves/evaluation.py _range_context 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _to_decimal 7 3 0 2 1 56%
backend/django/Economics/costing/cost_curves/evaluation.py _ensure_finite_decimal 3 1 0 2 1 60%
backend/django/Economics/costing/cost_curves/evaluation.py _decimal_to_string 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _curve_required_driver_specs 5 2 0 0 0 60%
backend/django/Economics/costing/cost_curves/evaluation.py _curve_discrete_variants 8 3 0 2 1 60%
backend/django/Economics/costing/cost_curves/evaluation.py _normalize_inputs 22 6 0 12 4 65%
backend/django/Economics/costing/cost_curves/evaluation.py _formula_bindings 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _conversion_diagnostics 5 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _evaluate_formula 8 1 0 2 1 80%
backend/django/Economics/costing/cost_curves/evaluation.py _evaluate_discrete_family 12 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py validate_discrete_variant_selectors 5 0 0 4 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py select_discrete_capacity_variant 12 0 0 10 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _selected_variant_payload 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py _selector_diagnostic 22 9 0 8 3 53%
backend/django/Economics/costing/cost_curves/evaluation.py _selector_adjustment_warnings 7 5 0 4 1 27%
backend/django/Economics/costing/cost_curves/evaluation.py _selected_variant_range_warnings 13 3 0 6 3 68%
backend/django/Economics/costing/cost_curves/evaluation.py _optional_decimal 3 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/evaluation.py (no function) 110 0 2 0 0 100%
backend/django/Economics/costing/cost_curves/registry.py (no function) 40 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveDriverSpecField.to_representation 4 2 0 0 0 50%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveDiscreteVariantField.to_representation 3 1 0 2 1 60%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveSerializer.get_output_unit_options 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveAuthoringSerializer.to_internal_value 5 0 0 4 1 89%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveAuthoringSerializer.validate 12 0 0 6 0 100%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveAuthoringSerializer._validate_formula_contract 23 14 0 14 1 27%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveAuthoringSerializer._validate_equipment_subtype_requirement 6 0 0 4 0 100%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveAuthoringSerializer._peer_cost_curves 5 1 0 2 1 71%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveTemplateSerializer.get_output_unit_options 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/serializers.py _normalized_required_driver_specs 4 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/serializers.py _normalized_discrete_variants 4 2 0 0 0 50%
backend/django/Economics/costing/cost_curves/serializers.py CostCurveEquipmentCategorySerializer.get_driver_unit_options 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/serializers.py (no function) 83 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/unit_options.py cost_curve_input_unit_options 3 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/unit_options.py cost_curve_common_driver_unit_options 6 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/unit_options.py cost_curve_output_unit_options 3 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/unit_options.py (no function) 5 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.get_serializer_class 3 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.list 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.create 5 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.update 7 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.partial_update 7 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.destroy 11 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.equipment_options 3 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py _dependent_studies_for_curve 3 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py _refresh_dependent_studies_for_curve 3 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py (no function) 31 0 0 0 0 100%
backend/django/Economics/costing/costable_items/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/costing/costable_items/deleted_objects.py delete_economics_lines_for_simulation_objects 15 0 0 6 0 100%
backend/django/Economics/costing/costable_items/deleted_objects.py delete_economics_lines_for_deleted_simulation_objects 4 0 0 0 0 100%
backend/django/Economics/costing/costable_items/deleted_objects.py (no function) 9 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py enable_costing_for_simulation_object 24 1 0 14 1 95%
backend/django/Economics/costing/costable_items/items.py _get_rule_for_object_type 4 0 0 4 0 100%
backend/django/Economics/costing/costable_items/items.py _get_or_create_costable_item 24 7 0 14 4 71%
backend/django/Economics/costing/costable_items/items.py _get_or_create_equipment_mapping 2 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py _default_equipment_category 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py _get_or_create_property_set 2 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py _get_or_create_manual_property 15 4 0 10 3 72%
backend/django/Economics/costing/costable_items/items.py _find_matching_driver_property 5 0 0 4 0 100%
backend/django/Economics/costing/costable_items/items.py _find_unambiguous_input_stream_driver_property 18 2 0 14 2 88%
backend/django/Economics/costing/costable_items/items.py _set_property_cost_driver 4 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py _set_manual_cost_driver 2 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py _set_unresolved_cost_driver 2 0 0 0 0 100%
backend/django/Economics/costing/costable_items/items.py _warning_payload 8 0 0 6 0 100%
backend/django/Economics/costing/costable_items/items.py _set_unsupported_cost_driver 6 2 0 2 1 62%
backend/django/Economics/costing/costable_items/items.py (no function) 38 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.get_lang_factor_label 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.get_effective_lang_factor 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.get_lang_factor_default_value 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.get_lang_factor_source 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.get_lang_factor_is_custom 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.get_lang_factor_default_key 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.validate 9 0 0 4 0 100%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer._validate_cost_curve_assignment 15 6 0 12 4 63%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer._equipment_category 8 1 0 6 1 86%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer._equipment_subtype 8 4 0 6 2 43%
backend/django/Economics/costing/costable_items/serializers.py EquipmentMappingSerializer.update 11 0 0 8 0 100%
backend/django/Economics/costing/costable_items/serializers.py CostDriverSerializer.to_representation 4 1 0 2 1 67%
backend/django/Economics/costing/costable_items/serializers.py CostDriverSerializer.validate 15 1 0 6 1 90%
backend/django/Economics/costing/costable_items/serializers.py CostDriverSerializer.create 13 3 0 8 2 67%
backend/django/Economics/costing/costable_items/serializers.py CostDriverSerializer.update 6 3 0 4 1 40%
backend/django/Economics/costing/costable_items/serializers.py BulkEquipmentDriverInputSetupSerializer.validate_manual_value 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/serializers.py BulkEquipmentDriverInputsField.to_internal_value 8 3 0 6 3 57%
backend/django/Economics/costing/costable_items/serializers.py CostableItemSerializer.validate 5 1 0 2 1 71%
backend/django/Economics/costing/costable_items/serializers.py (no function) 119 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py CostableItemViewSet.get_queryset 4 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py CostDriverViewSet._study_for_instance 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py CostDriverViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py CostDriverViewSet.property_options 3 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py EquipmentMappingViewSet._study_for_instance 1 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py EquipmentMappingViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py EquipmentMappingViewSet.bulk_setup 37 5 0 16 5 81%
backend/django/Economics/costing/costable_items/viewsets.py (no function) 36 0 0 0 0 100%
backend/django/Economics/costing/line_properties/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py native_property_reference 2 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py native_property_value 4 1 0 2 1 67%
backend/django/Economics/costing/line_properties/references.py line_property_reference 2 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py property_mention 1 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py _native_property_spec 1 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py _native_metric_key 1 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py _line_field_key 1 0 0 0 0 100%
backend/django/Economics/costing/line_properties/references.py (no function) 13 0 0 0 0 100%
backend/django/Economics/costing/line_properties/sync.py sync_economics_line_properties_for_study 13 0 0 4 0 100%
backend/django/Economics/costing/line_properties/sync.py _sync_capital_line_property 5 0 0 0 0 100%
backend/django/Economics/costing/line_properties/sync.py _sync_operating_line_property 5 0 0 0 0 100%
backend/django/Economics/costing/line_properties/sync.py _capital_line_expression 16 3 0 8 1 83%
backend/django/Economics/costing/line_properties/sync.py _materialize_line_property 15 0 0 6 0 100%
backend/django/Economics/costing/line_properties/sync.py _persist_line_formula 2 0 0 0 0 100%
backend/django/Economics/costing/line_properties/sync.py _line_property_info 16 5 0 10 3 69%
backend/django/Economics/costing/line_properties/sync.py _single_scalar_value 7 1 0 4 1 82%
backend/django/Economics/costing/line_properties/sync.py _capital_line_target 6 0 0 4 0 100%
backend/django/Economics/costing/line_properties/sync.py _operating_line_target 11 2 0 6 0 88%
backend/django/Economics/costing/line_properties/sync.py _root_property_set 11 3 0 4 1 73%
backend/django/Economics/costing/line_properties/sync.py _property_set_for_object 2 0 0 0 0 100%
backend/django/Economics/costing/line_properties/sync.py _delete_stale_line_formulas 5 2 0 4 1 44%
backend/django/Economics/costing/line_properties/sync.py _line_field_key 1 0 0 0 0 100%
backend/django/Economics/costing/line_properties/sync.py _study_currency 4 4 0 2 0 0%
backend/django/Economics/costing/line_properties/sync.py (no function) 33 0 0 0 0 100%
backend/django/Economics/costing/models.py CostCurve.__str__ 1 1 0 0 0 0%
backend/django/Economics/costing/models.py CostableItem.__str__ 1 1 0 0 0 0%
backend/django/Economics/costing/models.py CostableItem.clean 3 1 0 2 1 60%
backend/django/Economics/costing/models.py EquipmentMapping.__str__ 3 1 0 2 1 60%
backend/django/Economics/costing/models.py CostDriver.__str__ 1 0 0 0 0 100%
backend/django/Economics/costing/models.py CapitalCostLine.clean 30 8 0 30 8 73%
backend/django/Economics/costing/models.py CapitalCostLine.__str__ 1 1 0 0 0 0%
backend/django/Economics/costing/models.py OperatingCostLine.clean 16 6 0 14 6 60%
backend/django/Economics/costing/models.py OperatingCostLine.__str__ 1 1 0 0 0 0%
backend/django/Economics/costing/models.py (no function) 155 0 0 0 0 100%
backend/django/Economics/costing/operating/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/costing/operating/line_calculation.py operating_line_annual_amount 6 6 0 0 0 0%
backend/django/Economics/costing/operating/line_calculation.py operating_line_annual_basis_quantity 6 6 0 0 0 0%
backend/django/Economics/costing/operating/line_calculation.py reviewed_default_rate_for_operating_category 2 2 0 0 0 0%
backend/django/Economics/costing/operating/line_calculation.py reviewed_default_rate_for_type 3 1 0 2 1 60%
backend/django/Economics/costing/operating/line_calculation.py operating_line_rate_defaults_for_category 7 0 0 2 0 100%
backend/django/Economics/costing/operating/line_calculation.py default_rate_unit_for_property 8 0 0 4 0 100%
backend/django/Economics/costing/operating/line_calculation.py operating_line_rate_amount_from_default 5 0 0 4 0 100%
backend/django/Economics/costing/operating/line_calculation.py _derived_steam_rate_amount 6 2 0 0 0 67%
backend/django/Economics/costing/operating/line_calculation.py strip_single_time_denominator 4 0 0 2 0 100%
backend/django/Economics/costing/operating/line_calculation.py annualized_basis_quantity 1 0 0 0 0 100%
backend/django/Economics/costing/operating/line_calculation.py annualization_requires_operating_hours 11 5 0 8 3 47%
backend/django/Economics/costing/operating/line_calculation.py _annualized_basis_quantity 16 1 0 12 2 89%
backend/django/Economics/costing/operating/line_calculation.py _is_annual_rate_unit 1 0 0 0 0 100%
backend/django/Economics/costing/operating/line_calculation.py _study_annual_operating_hours 4 1 0 2 1 67%
backend/django/Economics/costing/operating/line_calculation.py _default_rate_override_for_category 13 4 0 8 4 62%
backend/django/Economics/costing/operating/line_calculation.py _source_default_rate_from_override 10 4 0 4 2 57%
backend/django/Economics/costing/operating/line_calculation.py _override_decimal 12 5 0 4 1 62%
backend/django/Economics/costing/operating/line_calculation.py _override_text 1 0 0 0 0 100%
backend/django/Economics/costing/operating/line_calculation.py _default_rate_type_for_category 5 1 0 4 1 78%
backend/django/Economics/costing/operating/line_calculation.py (no function) 37 0 0 0 0 100%
backend/django/Economics/costing/operating/resource_basis.py operating_resource_source_kind 11 0 0 10 0 100%
backend/django/Economics/costing/operating/resource_basis.py operating_resource_breakdown_category 16 0 0 14 0 100%
backend/django/Economics/costing/operating/resource_basis.py derive_target_process_energy_basis 18 3 0 6 1 83%
backend/django/Economics/costing/operating/resource_basis.py (no function) 38 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingCostLineSerializer.to_representation 3 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingCostLineSerializer.get_basis_unit_options 1 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingCostLineSerializer.get_rate_unit_options 1 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingCostLineSerializer.to_internal_value 3 0 0 2 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingCostLineSerializer.validate 67 14 0 44 9 76%
backend/django/Economics/costing/operating/serializers.py _operating_line_type_changed 3 0 0 2 0 100%
backend/django/Economics/costing/operating/serializers.py _reset_type_owned_fields 10 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py _default_basis_unit 9 6 0 8 2 29%
backend/django/Economics/costing/operating/serializers.py _default_rate_unit 7 3 0 6 3 54%
backend/django/Economics/costing/operating/serializers.py _default_outlet_stream_disposition 5 2 0 4 2 56%
backend/django/Economics/costing/operating/serializers.py OperatingStreamPropertyOptionSerializer.to_representation 1 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingLineFromPropertyRequestSerializer.validate 11 2 0 8 2 79%
backend/django/Economics/costing/operating/serializers.py OperatingLinesFromPropertiesRequestSerializer.validate_lines 7 0 0 4 0 100%
backend/django/Economics/costing/operating/serializers.py (no function) 57 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py output_stream_property_options 19 0 0 12 0 100%
backend/django/Economics/costing/operating/stream_properties.py create_operating_line_from_output_property 14 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py operating_line_result_label 21 8 0 16 2 62%
backend/django/Economics/costing/operating/stream_properties.py display_label_for_operating_line 12 4 0 4 1 69%
backend/django/Economics/costing/operating/stream_properties.py _inferred_rate_type_for_operating_property 5 1 0 4 1 78%
backend/django/Economics/costing/operating/stream_properties.py _normalize_economic_effect 5 0 0 4 0 100%
backend/django/Economics/costing/operating/stream_properties.py sync_operating_lines_for_property 6 0 0 2 0 100%
backend/django/Economics/costing/operating/stream_properties.py disconnect_operating_lines_for_deleted_property 14 0 0 4 0 100%
backend/django/Economics/costing/operating/stream_properties.py sync_operating_line_sources_for_property 16 0 0 8 0 100%
backend/django/Economics/costing/operating/stream_properties.py sync_operating_line_sources_for_study 5 0 0 2 0 100%
backend/django/Economics/costing/operating/stream_properties.py sync_project_default_operating_line_rates_for_study 22 0 0 10 1 97%
backend/django/Economics/costing/operating/stream_properties.py _suggested_streams 4 0 0 4 0 100%
backend/django/Economics/costing/operating/stream_properties.py _terminal_output_streams 1 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _starting_input_streams 1 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _unit_operations 1 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _eligible_stream_properties 4 1 0 2 1 67%
backend/django/Economics/costing/operating/stream_properties.py _is_scalar_current_property 2 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _validate_operating_property 3 0 0 2 0 100%
backend/django/Economics/costing/operating/stream_properties.py _normalize_category 13 6 0 10 3 52%
backend/django/Economics/costing/operating/stream_properties.py _property_matches_group 5 3 0 4 1 33%
backend/django/Economics/costing/operating/stream_properties.py unit_energy_source_kind 15 0 0 12 0 100%
backend/django/Economics/costing/operating/stream_properties.py _is_mass_flow_property 2 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _is_power_or_work_property 1 1 0 0 0 0%
backend/django/Economics/costing/operating/stream_properties.py _property_search_text 1 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _normalized_property_key 1 0 0 0 0 100%
backend/django/Economics/costing/operating/stream_properties.py _decimal_property_value 7 0 0 2 0 100%
backend/django/Economics/costing/operating/stream_properties.py (no function) 65 0 0 0 0 100%
backend/django/Economics/costing/operating/unit_options.py operating_basis_unit_options 16 6 0 12 2 57%
backend/django/Economics/costing/operating/unit_options.py operating_rate_unit_options 3 1 0 2 1 60%
backend/django/Economics/costing/operating/unit_options.py price_unit_options_for_rate_unit 1 0 0 0 0 100%
backend/django/Economics/costing/operating/unit_options.py _source_property_unit_type 6 0 2 2 0 100%
backend/django/Economics/costing/operating/unit_options.py (no function) 10 0 0 0 0 100%
backend/django/Economics/costing/operating/viewsets.py OperatingCostLineViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/costing/operating/viewsets.py (no function) 8 0 0 0 0 100%
backend/django/Economics/formulas/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/formulas/builders/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py BoundCapitalFormula.evaluate 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py BoundCapitalFormula.render_property_formula 3 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py build_cost_curve_formula 8 2 0 4 2 67%
backend/django/Economics/formulas/builders/capital.py render_cost_curve_formula 5 5 0 2 0 0%
backend/django/Economics/formulas/builders/capital.py build_cost_curve_variant_formula 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py build_generated_capital_line_formula 17 1 0 4 2 86%
backend/django/Economics/formulas/builders/capital.py _formula_input_specs 6 2 0 0 0 67%
backend/django/Economics/formulas/builders/capital.py _placeholder_discrete_curve_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py build_generated_unit_capex_subtotal_formula 10 0 0 6 0 100%
backend/django/Economics/formulas/builders/capital.py build_custom_capital_line_formula 10 2 0 6 2 75%
backend/django/Economics/formulas/builders/capital.py build_custom_capital_total_formula 25 25 0 12 0 0%
backend/django/Economics/formulas/builders/capital.py build_peak_demand_formula 3 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py build_electrical_upgrade_formula 9 0 0 2 0 100%
backend/django/Economics/formulas/builders/capital.py build_target_total_capex_formula 24 2 0 8 1 91%
backend/django/Economics/formulas/builders/capital.py capital_line_input_key 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py _capital_line_amount_for_total 6 2 0 2 0 75%
backend/django/Economics/formulas/builders/capital.py capital_index_adjustment 11 1 0 6 1 88%
backend/django/Economics/formulas/builders/capital.py contingency_percent_for_study 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/capital.py _multiply_factor 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/capital.py _sum_expressions 5 0 0 4 0 100%
backend/django/Economics/formulas/builders/capital.py _study_currency 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/capital.py _capital_result_amount 1 1 0 0 0 0%
backend/django/Economics/formulas/builders/capital.py _decimal_literal 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py _capital_index_basis_value 9 4 0 6 3 53%
backend/django/Economics/formulas/builders/capital.py _capital_index_target_value 4 0 0 2 1 83%
backend/django/Economics/formulas/builders/capital.py (no function) 63 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_formulas.py MetricFormulaStore.__init__ 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_formulas.py MetricFormulaStore.persist_metric_formula 9 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_formulas.py MetricFormulaStore.delete_stale_metric_formulas 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_formulas.py MetricFormulaStore.delete_all_metric_formulas 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_formulas.py (no function) 20 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py AssumptionLookup.get 0 0 1 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py metric_property_formula_bindings 40 2 0 32 2 94%
backend/django/Economics/formulas/builders/metric_property_formulas.py _target_capex_property_formula 19 1 0 12 1 94%
backend/django/Economics/formulas/builders/metric_property_formulas.py _electrical_upgrade_property_formula 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _annual_opex_reference 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _annual_revenue_reference 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _capex_reference 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _electrical_upgrade_reference 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _peak_demand_reference 3 0 0 2 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _incremental_capex_reference 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _annual_savings_reference 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _annual_cash_flow_reference 12 0 0 4 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _assumption_decimal 6 2 0 4 2 60%
backend/django/Economics/formulas/builders/metric_property_formulas.py _multiply_dimensionless 7 2 0 6 2 69%
backend/django/Economics/formulas/builders/metric_property_formulas.py _native_reference_or_fallback 6 0 0 4 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _native_property_exists 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/metric_property_formulas.py _line_property_exists 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _native_metric_key 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/metric_property_formulas.py _annual_operating_total_property_formula 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _annual_amount 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _unit_literal 11 3 0 8 3 68%
backend/django/Economics/formulas/builders/metric_property_formulas.py _optional_unit_literal 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _decimal_literal 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py _study_currency 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/metric_property_formulas.py _compact_bindings 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metric_property_formulas.py (no function) 47 0 4 0 0 100%
backend/django/Economics/formulas/builders/metrics.py BoundMetricFormula.evaluate 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py BoundMetricFormula.render_property_formula 3 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py annual_profit_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py annual_savings_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py depreciation_tax_shield_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py after_tax_annual_cash_flow_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py incremental_capex_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py metric_value_formula 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py roi_percent_formula 8 0 0 2 0 100%
backend/django/Economics/formulas/builders/metrics.py lcoh_formula 9 0 0 2 0 100%
backend/django/Economics/formulas/builders/metrics.py cash_flow_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py discounted_cash_flow_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py discount_factor_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py cumulative_cash_flow_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py cumulative_present_value_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py npv_formula 9 0 0 2 0 100%
backend/django/Economics/formulas/builders/metrics.py _bound_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py _decimal_literal 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/metrics.py _cash_flow_expression 6 0 0 4 0 100%
backend/django/Economics/formulas/builders/metrics.py _discounted_expression 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/metrics.py _discounted_annuity_expression 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/metrics.py (no function) 31 0 0 0 0 100%
backend/django/Economics/formulas/builders/native.py native_property_expression 8 1 0 6 1 86%
backend/django/Economics/formulas/builders/native.py _native_property_spec 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/native.py _financial_metric_expression 19 4 0 16 4 77%
backend/django/Economics/formulas/builders/native.py (no function) 9 0 2 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py base_capital_cost_property_expression 17 2 0 10 1 81%
backend/django/Economics/formulas/builders/native_property_formulas.py annual_operating_expense_property_expression 2 0 0 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py annual_operating_total_property_expression 19 0 0 12 1 97%
backend/django/Economics/formulas/builders/native_property_formulas.py _generated_capital_lines 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py generated_capital_line_property_expression 35 7 0 14 3 80%
backend/django/Economics/formulas/builders/native_property_formulas.py _render_discrete_family_generated_formula 3 0 0 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py _parse_discrete_variants_for_formula 7 3 0 2 1 56%
backend/django/Economics/formulas/builders/native_property_formulas.py _select_capacity_variant_for_line 5 2 0 0 0 60%
backend/django/Economics/formulas/builders/native_property_formulas.py _property_backed_discrete_selector_blocked_reason 5 0 0 4 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py _selector_normalized_inputs_for_line 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py _selector_decimal_value 4 0 0 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py _selector_driver_input 5 2 0 0 0 60%
backend/django/Economics/formulas/builders/native_property_formulas.py _selector_raw_value 9 5 0 6 2 40%
backend/django/Economics/formulas/builders/native_property_formulas.py _selector_decimal_from_raw 9 4 0 4 2 54%
backend/django/Economics/formulas/builders/native_property_formulas.py _selector_value_in_spec_unit 13 9 0 6 1 26%
backend/django/Economics/formulas/builders/native_property_formulas.py _render_discrete_variant_generated_formula 5 1 0 2 1 71%
backend/django/Economics/formulas/builders/native_property_formulas.py _generated_capital_factors 12 3 0 6 3 67%
backend/django/Economics/formulas/builders/native_property_formulas.py _decimal_literal 1 1 0 0 0 0%
backend/django/Economics/formulas/builders/native_property_formulas.py _render_driver_input_formula 15 3 0 8 3 74%
backend/django/Economics/formulas/builders/native_property_formulas.py _driver_input_source_expression 21 5 0 12 3 76%
backend/django/Economics/formulas/builders/native_property_formulas.py operating_line_property_expression 21 4 0 4 0 84%
backend/django/Economics/formulas/builders/native_property_formulas.py _sum_terms 3 0 0 2 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py _sum_term 5 1 0 4 1 78%
backend/django/Economics/formulas/builders/native_property_formulas.py _has_top_level_additive_operator 9 1 0 8 1 88%
backend/django/Economics/formulas/builders/native_property_formulas.py _property_mention 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py _unit_conversion_supported 4 2 0 0 0 50%
backend/django/Economics/formulas/builders/native_property_formulas.py _manual_value_with_unit 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/native_property_formulas.py _unit_literal 10 6 0 8 2 33%
backend/django/Economics/formulas/builders/native_property_formulas.py _study_currency 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/native_property_formulas.py (no function) 66 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py OperatingLineFormula.evaluate 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py OperatingAggregateFormula.evaluate 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py ProcessEnergyContributionFormula.evaluate 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py DefaultRateFormula.evaluate 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/operating.py build_operating_line_formula 22 4 0 12 4 76%
backend/django/Economics/formulas/builders/operating.py build_derived_steam_rate_formula 10 2 0 4 2 71%
backend/django/Economics/formulas/builders/operating.py build_process_energy_contribution_formula 13 9 0 8 2 29%
backend/django/Economics/formulas/builders/operating.py build_annual_operating_expense_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py build_annual_operating_revenue_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py render_operating_line_property_formula 14 2 0 6 2 80%
backend/django/Economics/formulas/builders/operating.py rate_denominator_unit 6 1 0 4 1 80%
backend/django/Economics/formulas/builders/operating.py _annualization_factor_for_line 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/operating.py _missing_annual_operating_hours_for_annualization 6 1 0 4 1 80%
backend/django/Economics/formulas/builders/operating.py _steam_mass_annualization_factor 11 2 0 8 2 79%
backend/django/Economics/formulas/builders/operating.py _steam_energy_basis_gj_per_t 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/operating.py _build_operating_total_formula 18 0 0 6 0 100%
backend/django/Economics/formulas/builders/operating.py _operating_total_blocked_reason 5 0 0 4 0 100%
backend/django/Economics/formulas/builders/operating.py _missing_annual_operating_hours_message 4 1 0 2 1 67%
backend/django/Economics/formulas/builders/operating.py _unsupported_annual_cost_conversion_message 4 4 0 2 0 0%
backend/django/Economics/formulas/builders/operating.py _operating_line_unit_pair 9 5 0 6 1 33%
backend/django/Economics/formulas/builders/operating.py operating_line_is_revenue 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py operating_line_input_key 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py _process_energy_formula 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py _multiply_terms 5 0 0 2 0 100%
backend/django/Economics/formulas/builders/operating.py _sum_expressions 5 0 0 4 0 100%
backend/django/Economics/formulas/builders/operating.py _study_currency 4 0 0 2 0 100%
backend/django/Economics/formulas/builders/operating.py _effective_rate_amount 5 3 0 4 1 33%
backend/django/Economics/formulas/builders/operating.py _effective_rate_unit 5 3 0 4 1 33%
backend/django/Economics/formulas/builders/operating.py _basis_input_key 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py _metadata_decimal 7 3 0 2 1 56%
backend/django/Economics/formulas/builders/operating.py _override_or_metadata_decimal 3 0 0 2 0 100%
backend/django/Economics/formulas/builders/operating.py _decimal_literal 1 0 0 0 0 100%
backend/django/Economics/formulas/builders/operating.py (no function) 72 0 0 0 0 100%
backend/django/Economics/formulas/engine/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/formulas/engine/core.py FormulaError.__init__ 4 0 0 0 0 100%
backend/django/Economics/formulas/engine/core.py EconomicsFormula.evaluate 13 1 0 6 1 89%
backend/django/Economics/formulas/engine/core.py EconomicsFormula.render_property_formula 3 1 0 2 1 60%
backend/django/Economics/formulas/engine/core.py EconomicsFormula.audit_payload 2 0 0 0 0 100%
backend/django/Economics/formulas/engine/core.py audit_kind_for_key 17 3 0 16 3 82%
backend/django/Economics/formulas/engine/core.py validate_formula_operation_count 3 0 0 2 0 100%
backend/django/Economics/formulas/engine/core.py decimal_to_sympy 7 3 0 2 1 56%
backend/django/Economics/formulas/engine/core.py sympy_to_decimal 16 3 0 12 3 79%
backend/django/Economics/formulas/engine/core.py render_sympy_expression 1 0 0 0 0 100%
backend/django/Economics/formulas/engine/core.py _render_expression 15 1 0 10 1 92%
backend/django/Economics/formulas/engine/core.py reject_non_real_powers 11 2 0 10 2 81%
backend/django/Economics/formulas/engine/core.py _number_literal 6 1 0 4 1 80%
backend/django/Economics/formulas/engine/core.py _render_add 10 0 0 4 0 100%
backend/django/Economics/formulas/engine/core.py _render_mul 4 0 0 2 0 100%
backend/django/Economics/formulas/engine/core.py _render_power_base 4 0 0 2 0 100%
backend/django/Economics/formulas/engine/core.py _positive_if_negative 12 0 0 10 0 100%
backend/django/Economics/formulas/engine/core.py _parenthesize_if_needed 3 0 0 2 0 100%
backend/django/Economics/formulas/engine/core.py (no function) 61 0 0 0 0 100%
backend/django/Economics/formulas/engine/parsing.py parse_cost_expression 17 4 0 6 2 74%
backend/django/Economics/formulas/engine/parsing.py _parse_node 24 1 0 20 1 95%
backend/django/Economics/formulas/engine/parsing.py _number_node 5 2 0 0 0 60%
backend/django/Economics/formulas/engine/parsing.py _validate_expression_size 3 0 0 0 0 100%
backend/django/Economics/formulas/engine/parsing.py _validate_expression_size.visit 7 2 0 6 2 69%
backend/django/Economics/formulas/engine/parsing.py (no function) 12 0 0 0 0 100%
backend/django/Economics/formulas/models.py EconomicsMetricFormula.__str__ 1 1 0 0 0 0%
backend/django/Economics/formulas/models.py EconomicsLineFormula.clean 3 1 0 2 1 60%
backend/django/Economics/formulas/models.py EconomicsLineFormula.__str__ 1 1 0 0 0 0%
backend/django/Economics/formulas/models.py (no function) 49 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/materialize.py materialize_economics_native_properties 6 0 0 2 0 100%
backend/django/Economics/formulas/native_properties/materialize.py _materialize_spec 5 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/materialize.py _link_native_formula_owner 1 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/materialize.py _native_property_info 16 5 0 10 3 69%
backend/django/Economics/formulas/native_properties/materialize.py _source_owned_native_property_info 4 0 0 2 0 100%
backend/django/Economics/formulas/native_properties/materialize.py _single_scalar_value 7 1 0 4 1 82%
backend/django/Economics/formulas/native_properties/materialize.py _native_property_set 12 2 0 4 0 88%
backend/django/Economics/formulas/native_properties/materialize.py _native_metric_key 1 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/materialize.py (no function) 18 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/specs.py native_property_specs 2 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/specs.py _study_currency 2 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/specs.py (no function) 30 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/sync.py sync_economics_native_properties_for_study 45 2 0 14 1 95%
backend/django/Economics/formulas/native_properties/sync.py _link_native_formula_property 5 0 0 2 0 100%
backend/django/Economics/formulas/native_properties/sync.py _native_metric_key 1 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/sync.py _block_expression_with_invalid_references 12 0 0 10 0 100%
backend/django/Economics/formulas/native_properties/sync.py _blocked_reference_expression 1 0 0 0 0 100%
backend/django/Economics/formulas/native_properties/sync.py (no function) 18 0 0 0 0 100%
backend/django/Economics/formulas/property_state.py apply_economics_property_state 11 0 0 8 0 100%
backend/django/Economics/formulas/property_state.py (no function) 3 0 0 0 0 100%
backend/django/Economics/formulas/serializers.py (no function) 27 0 0 0 0 100%
backend/django/Economics/idaes_build_hooks.py refresh_economics_formulas_before_context_load 5 0 0 4 0 100%
backend/django/Economics/idaes_build_hooks.py _rendered_economics_study_ids 3 0 0 0 0 100%
backend/django/Economics/idaes_build_hooks.py (no function) 7 0 0 0 0 100%
backend/django/Economics/management/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/management/commands/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/management/commands/import_stats_nz_indexes.py Command.add_arguments 2 0 0 0 0 100%
backend/django/Economics/management/commands/import_stats_nz_indexes.py Command.handle 5 2 0 0 0 60%
backend/django/Economics/management/commands/import_stats_nz_indexes.py (no function) 7 0 0 0 0 100%
backend/django/Economics/property_events.py property_info_saved 2 0 0 0 0 100%
backend/django/Economics/property_events.py property_info_deleting 1 0 0 0 0 100%
backend/django/Economics/property_events.py property_info_deleted 1 0 0 0 0 100%
backend/django/Economics/property_events.py property_value_saved 3 0 0 0 0 100%
backend/django/Economics/property_events.py property_value_deleted 3 0 0 0 0 100%
backend/django/Economics/property_events.py _sync_generated_capital 2 0 0 2 0 100%
backend/django/Economics/property_events.py (no function) 12 0 0 0 0 100%
backend/django/Economics/reference_data/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/reference_data/models.py CostIndexSeries.__str__ 1 1 0 0 0 0%
backend/django/Economics/reference_data/models.py CostIndexValue.__str__ 1 0 0 0 0 100%
backend/django/Economics/reference_data/models.py EconomicsDefaultRate.__str__ 1 1 0 0 0 0%
backend/django/Economics/reference_data/models.py EconomicsLangFactorDefault.clean 17 8 0 16 8 52%
backend/django/Economics/reference_data/models.py EconomicsLangFactorDefault.__str__ 1 1 0 0 0 0%
backend/django/Economics/reference_data/models.py (no function) 105 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_is_numeric_default_available 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_is_derived_template 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_is_unavailable 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_is_custom_rate 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_display_unit_options 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_preview_value 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRateSerializer.get_formula_audit 1 0 0 0 0 100%
backend/django/Economics/reference_data/serializers.py EconomicsDefaultRatePreviewRequestSerializer.validate 9 3 0 2 1 64%
backend/django/Economics/reference_data/serializers.py default_rate_preview_payload 10 3 0 4 1 71%
backend/django/Economics/reference_data/serializers.py (no function) 60 0 0 0 0 100%
backend/django/Economics/reference_data/services/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py IndexEscalationResult.warnings_payload 1 1 0 0 0 0%
backend/django/Economics/reference_data/services/stats_nz_indexes.py StatsNzIndexImportError.__init__ 4 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py IndexEscalationError.__init__ 4 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py default_stats_nz_fixture_dir 2 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py import_locked_stats_nz_indexes 5 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py import_stats_nz_indexes 30 0 0 12 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py escalate_cost_with_index 12 1 0 4 1 88%
backend/django/Economics/reference_data/services/stats_nz_indexes.py parse_stats_nz_quarter_period 9 2 0 2 0 82%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _read_source_rows 11 2 0 6 2 76%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _upsert_series 2 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _get_locked_index_series 5 0 0 2 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _upsert_value 9 1 0 2 1 82%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _row_matches_spec 1 0 0 0 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _required_row_value 4 1 0 2 1 67%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _parse_decimal 7 3 0 2 1 56%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _get_index_value 4 0 0 2 0 100%
backend/django/Economics/reference_data/services/stats_nz_indexes.py _escalation_warnings 5 1 0 4 1 78%
backend/django/Economics/reference_data/services/stats_nz_indexes.py (no function) 79 0 0 0 0 100%
backend/django/Economics/reference_data/unit_options.py default_rate_unit_options_by_type 1 0 0 0 0 100%
backend/django/Economics/reference_data/unit_options.py default_rate_display_unit_options 6 0 0 4 0 100%
backend/django/Economics/reference_data/unit_options.py (no function) 4 0 0 0 0 100%
backend/django/Economics/reference_data/viewsets.py CostIndexSeriesViewSet.list 1 0 0 0 0 100%
backend/django/Economics/reference_data/viewsets.py CostIndexSeriesViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/reference_data/viewsets.py EconomicsDefaultRateViewSet.list 1 0 0 0 0 100%
backend/django/Economics/reference_data/viewsets.py EconomicsDefaultRateViewSet.preview 5 0 0 0 0 100%
backend/django/Economics/reference_data/viewsets.py EconomicsDefaultRateViewSet.get_queryset 6 0 0 4 0 100%
backend/django/Economics/reference_data/viewsets.py EconomicsLangFactorDefaultViewSet.get_queryset 14 3 0 8 3 73%
backend/django/Economics/reference_data/viewsets.py (no function) 22 0 0 0 0 100%
backend/django/Economics/results/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/results/models.py EconomicsResultRun.__str__ 1 1 0 0 0 0%
backend/django/Economics/results/models.py EconomicsResultDependency.__str__ 1 0 0 0 0 100%
backend/django/Economics/results/models.py EconomicsResultLine.__str__ 1 0 0 0 0 100%
backend/django/Economics/results/models.py EconomicsChartDataset.__str__ 1 1 0 0 0 0%
backend/django/Economics/results/models.py (no function) 97 0 0 0 0 100%
backend/django/Economics/results/serializers.py EconomicsResultLineSerializer.get_formula_audit 3 0 0 0 0 100%
backend/django/Economics/results/serializers.py EconomicsResultLineSerializer.get_annual_basis_unit_options 3 0 0 2 0 100%
backend/django/Economics/results/serializers.py EconomicsResultLineSerializer.get_annual_basis_quantities_by_unit 1 0 0 0 0 100%
backend/django/Economics/results/serializers.py _warning_summaries 11 3 0 8 3 68%
backend/django/Economics/results/serializers.py EconomicsResultRunSerializer.get_classification 1 0 0 0 0 100%
backend/django/Economics/results/serializers.py EconomicsResultRunSerializer.get_warnings 1 0 0 0 0 100%
backend/django/Economics/results/serializers.py EconomicsResultRunSerializer.get_requires_solve 2 0 0 0 0 100%
backend/django/Economics/results/serializers.py EconomicsResultRunSerializer.get_latest_stale_reason 2 0 0 0 0 100%
backend/django/Economics/results/serializers.py (no function) 60 0 0 0 0 100%
backend/django/Economics/results/services/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py ChartDatasetContract.chart_data_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py ChartDatasetContract.rendering_metadata_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py build_chart_datasets 3 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py materialize_chart_datasets 5 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _cash_flow_npv_dataset 12 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _ranked_breakdown_dataset 6 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _manual_baseline_comparison_dataset 21 0 0 12 0 100%
backend/django/Economics/results/services/chart_datasets.py _comparison_datum 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_category 5 5 0 2 0 0%
backend/django/Economics/results/services/chart_datasets.py _operating_line_is_revenue 4 1 0 2 1 67%
backend/django/Economics/results/services/chart_datasets.py _datum_from_line 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _warning_refs_for_line 13 2 0 8 2 81%
backend/django/Economics/results/services/chart_datasets.py _run_warning_refs 4 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _assumption_records_for_line 8 1 0 4 1 83%
backend/django/Economics/results/services/chart_datasets.py _source_row_keys 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _first_unit 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _year_from_cash_flow_key 4 2 0 0 0 50%
backend/django/Economics/results/services/chart_datasets.py _baseline_capex 6 1 0 4 1 80%
backend/django/Economics/results/services/chart_datasets.py _decimal_from_assumptions 6 1 0 4 1 80%
backend/django/Economics/results/services/chart_datasets.py _decimal_from_payload 4 1 0 2 1 67%
backend/django/Economics/results/services/chart_datasets.py _to_decimal 6 3 0 2 1 50%
backend/django/Economics/results/services/chart_datasets.py _decimal_string 1 1 0 0 0 0%
backend/django/Economics/results/services/chart_datasets.py _chart_scalar 5 3 0 4 1 33%
backend/django/Economics/results/services/chart_datasets.py (no function) 107 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py AssumptionSet.from_mapping 3 1 0 2 1 60%
backend/django/Economics/results/services/financial_metrics.py AssumptionSet.merge 5 0 0 2 1 86%
backend/django/Economics/results/services/financial_metrics.py AssumptionSet.merge_set 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py AssumptionSet.to_mapping 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py AssumptionSet.get 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py AssumptionSet.__getitem__ 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py TargetAssumptions.as_assumption_set 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py FinancialMetric.from_value 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py FinancialMetric.from_formula 10 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py FinancialCalculationInputs.coerce_assumptions 7 2 0 6 2 69%
backend/django/Economics/results/services/financial_metrics.py FinancialMetricsError.__init__ 4 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py calculate_study_financial_metrics 20 3 0 0 0 85%
backend/django/Economics/results/services/financial_metrics.py target_base_capital_cost 1 1 0 0 0 0%
backend/django/Economics/results/services/financial_metrics.py target_annual_operating_expense 2 2 0 0 0 0%
backend/django/Economics/results/services/financial_metrics.py calculate_financial_metrics 11 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py validate_manual_baseline 3 3 0 2 0 0%
backend/django/Economics/results/services/financial_metrics.py _manual_baseline_errors 31 13 0 30 13 57%
backend/django/Economics/results/services/financial_metrics.py resolve_baseline_for_study 7 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _resolve_missing_baseline 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _resolve_manual_baseline 6 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _resolve_baseline_annual_heat_basis 7 2 0 6 2 69%
backend/django/Economics/results/services/financial_metrics.py _resolve_baseline_annual_heat_basis_unit 3 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py calculate_discounted_cash_flow 16 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics.py calculate_simple_payback_years 10 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics.py calculate_roi_percent 3 3 0 2 0 0%
backend/django/Economics/results/services/financial_metrics.py calculate_lcoh 6 6 0 4 0 0%
backend/django/Economics/results/services/financial_metrics.py _base_metrics 4 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _metric_from_scalar_formula 3 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _add_annual_savings_metric 9 0 0 4 0 100%
backend/django/Economics/results/services/financial_metrics.py _add_tax_metrics 11 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _add_incremental_capex_metric 6 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _currency_unit 3 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _add_cashflow_metrics 15 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics.py _add_incomplete_cashflow_warning 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _add_lcoh_metric 6 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _pure_calculation_baseline_resolution 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _target_only_baseline_resolution 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _target_assumption_warnings 6 2 0 4 2 60%
backend/django/Economics/results/services/financial_metrics.py _target_assumptions 5 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _get_baseline 4 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _has_manual_baseline_values 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _sum_capital_lines 5 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics.py _sum_capital_breakdown 9 1 0 4 1 85%
backend/django/Economics/results/services/financial_metrics.py _electrical_upgrade_capex 5 1 0 2 1 71%
backend/django/Economics/results/services/financial_metrics.py _decimal_from_payload 6 2 0 2 0 75%
backend/django/Economics/results/services/financial_metrics.py _sum_operating_lines 9 1 0 4 1 85%
backend/django/Economics/results/services/financial_metrics.py _operating_line_annual_amount 4 4 0 0 0 0%
backend/django/Economics/results/services/financial_metrics.py _discount_factor 3 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _quantize_like 5 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _discount_rate_from_percent 8 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics.py _tax_rate_from_percent 7 1 0 6 1 85%
backend/django/Economics/results/services/financial_metrics.py _cashflow_metric_assumptions 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _lcoh_metric_assumptions 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _energy_basis_denominator 3 1 0 2 1 60%
backend/django/Economics/results/services/financial_metrics.py _process_energy_basis_source_row_keys 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py _financial_scalar 5 1 0 4 1 78%
backend/django/Economics/results/services/financial_metrics.py _decimal_string 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics.py parse_decimal 7 7 0 2 0 0%
backend/django/Economics/results/services/financial_metrics.py (no function) 176 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/common.py get_assumptions 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/common.py version 5 2 0 4 2 56%
backend/django/Economics/results/services/lifecycle/common.py duration_ms 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/common.py (no function) 14 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py DependencyFingerprint.serialize_source_model 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py DependencyFingerprint.identity 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py build_dependency_fingerprints 12 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _formula_fingerprints 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _assumption_fingerprints 4 1 0 2 1 67%
backend/django/Economics/results/services/lifecycle/fingerprints.py _baseline_fingerprints 4 1 0 2 1 67%
backend/django/Economics/results/services/lifecycle/fingerprints.py _baseline_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _manual_baseline_inherited_assumptions 4 1 0 2 1 67%
backend/django/Economics/results/services/lifecycle/fingerprints.py _costable_item_fingerprints 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _cost_driver_fingerprints 6 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _equipment_mapping_fingerprints 5 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _property_value_payload 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _capital_line_fingerprints 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _operating_line_fingerprints 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _capital_line_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _driver_input_property_values 7 1 0 4 1 82%
backend/django/Economics/results/services/lifecycle/fingerprints.py _operating_line_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _cost_curve_fingerprints 7 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _index_data_fingerprints 12 1 0 6 1 89%
backend/django/Economics/results/services/lifecycle/fingerprints.py _create_dependencies 2 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _dependency 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _fingerprint_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _canonical_json 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _fingerprint_map 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _stored_dependency_map 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _index_value_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py (no function) 65 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/lifecycle.py recalculate_presentation_results 38 0 0 4 0 100%
backend/django/Economics/results/services/lifecycle/lifecycle.py _result_warning_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/lifecycle.py handle_economics_configuration_saved 3 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/lifecycle.py handle_solve_completed 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/lifecycle.py (no function) 21 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_metric_lines 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_capital_result_lines 3 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_depreciation_result_lines 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_operating_result_lines 12 3 0 4 1 75%
backend/django/Economics/results/services/lifecycle/result_lines.py _operating_resource_payload 11 0 0 4 1 93%
backend/django/Economics/results/services/lifecycle/result_lines.py _resource_display_annual_basis 10 3 0 4 1 71%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_cash_flow_lines 3 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _line_warning_list 4 1 0 2 1 67%
backend/django/Economics/results/services/lifecycle/result_lines.py _metric_formula_payload 7 2 0 2 0 78%
backend/django/Economics/results/services/lifecycle/result_lines.py _capital_factor_list 4 1 0 2 1 67%
backend/django/Economics/results/services/lifecycle/result_lines.py _metric_line_kind 9 0 0 8 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _metric_sort_key 2 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _metric_label 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py (no function) 40 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/runs.py classify_result_run 7 0 0 4 0 100%
backend/django/Economics/results/services/lifecycle/runs.py mark_result_runs_stale_for_study 5 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/runs.py _matching_result_run 6 0 0 6 0 100%
backend/django/Economics/results/services/lifecycle/runs.py _mark_nonmatching_current_runs_stale 4 0 0 4 0 100%
backend/django/Economics/results/services/lifecycle/runs.py _mark_run_stale 9 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/runs.py _annotate_reused_run 6 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/runs.py (no function) 17 0 0 0 0 100%
backend/django/Economics/results/unit_options.py annual_result_basis_unit_options 7 1 0 2 1 78%
backend/django/Economics/results/unit_options.py annual_result_basis_quantities_by_unit 11 1 0 6 1 88%
backend/django/Economics/results/unit_options.py _annual_result_basis_unit_type 4 0 0 2 0 100%
backend/django/Economics/results/unit_options.py _annual_result_basis_base_options 3 0 0 2 0 100%
backend/django/Economics/results/unit_options.py _annual_result_units_compatible 1 0 0 0 0 100%
backend/django/Economics/results/unit_options.py _annual_result_unit 6 2 0 4 2 60%
backend/django/Economics/results/unit_options.py (no function) 11 0 0 0 0 100%
backend/django/Economics/results/viewsets.py EconomicsResultRunViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/results/viewsets.py EconomicsResultLineViewSet.list 1 0 0 0 0 100%
backend/django/Economics/results/viewsets.py EconomicsResultLineViewSet.get_queryset 6 0 0 4 0 100%
backend/django/Economics/results/viewsets.py EconomicsChartDatasetViewSet.get_queryset 6 1 0 2 1 75%
backend/django/Economics/results/viewsets.py (no function) 15 0 0 0 0 100%
backend/django/Economics/routers.py (no function) 29 0 0 0 0 100%
backend/django/Economics/settings_profiles/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/settings_profiles/models.py EconomicsSettingsProfile.clean 13 5 0 12 5 60%
backend/django/Economics/settings_profiles/models.py EconomicsSettingsProfile.__str__ 1 1 0 0 0 0%
backend/django/Economics/settings_profiles/models.py EconomicsAssumptions.clean 13 1 0 12 1 92%
backend/django/Economics/settings_profiles/models.py EconomicsAssumptions.__str__ 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/models.py EconomicsBaseline.__str__ 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/models.py (no function) 99 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsAssumptionsSerializer.get_electrical_upgrade_rate_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsAssumptionsSerializer.get_default_rate_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsAssumptionsSerializer.validate 18 0 0 10 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsAssumptionsSerializer.create 2 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsAssumptionsSerializer.validate_default_rate_overrides 47 12 0 28 10 71%
backend/django/Economics/settings_profiles/serializers.py EconomicsAssumptionsSerializer._clean_positive_decimal_override 10 4 0 4 2 57%
backend/django/Economics/settings_profiles/serializers.py EconomicsBaselineSerializer.get_manual_annual_heat_basis_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsBaselineSerializer.get_average_power_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsBaselineSerializer.to_internal_value 5 1 0 4 2 67%
backend/django/Economics/settings_profiles/serializers.py EconomicsBaselineSerializer.create 2 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsBaselineSerializer.update 2 2 0 0 0 0%
backend/django/Economics/settings_profiles/serializers.py _prefill_default_cpi_index_series 5 1 0 2 1 71%
backend/django/Economics/settings_profiles/serializers.py _normalize_manual_baseline_defaults 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.get_electrical_upgrade_rate_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.get_default_rate_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.get_manual_annual_heat_basis_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.get_average_power_unit_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.get_usage_count 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.validate 20 4 0 12 4 75%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.validate_default_rate_overrides 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.create 5 5 0 2 0 0%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.update 9 2 0 6 1 80%
backend/django/Economics/settings_profiles/serializers.py SettingsProfileCopyRequestSerializer.validate_name 4 0 0 2 0 100%
backend/django/Economics/settings_profiles/serializers.py (no function) 80 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/depreciation.py DepreciationSchedule.annual_depreciation 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/depreciation.py build_straight_line_depreciation_schedule 20 2 0 12 2 88%
backend/django/Economics/settings_profiles/services/depreciation.py _depreciation_policy 9 2 0 8 2 76%
backend/django/Economics/settings_profiles/services/depreciation.py _capital_line_amount 6 3 0 2 1 50%
backend/django/Economics/settings_profiles/services/depreciation.py (no function) 26 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py get_settings_profile 4 2 0 0 0 50%
backend/django/Economics/settings_profiles/services/settings_profiles.py default_settings_profile_for_flowsheet 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py get_or_create_default_settings_profile 4 0 0 2 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py create_settings_profile_copy 4 1 0 2 1 67%
backend/django/Economics/settings_profiles/services/settings_profiles.py settings_profile_from_legacy_study 14 14 0 4 0 0%
backend/django/Economics/settings_profiles/services/settings_profiles.py update_settings_profile_from_assumptions 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py update_settings_profile_from_baseline 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py assumptions_from_settings_profile 4 1 0 2 1 67%
backend/django/Economics/settings_profiles/services/settings_profiles.py baseline_from_settings_profile 4 1 0 2 1 67%
backend/django/Economics/settings_profiles/services/settings_profiles.py _profile_for_legacy_endpoint_update 7 4 0 2 1 44%
backend/django/Economics/settings_profiles/services/settings_profiles.py _update_settings_profile 6 1 0 4 1 80%
backend/django/Economics/settings_profiles/services/settings_profiles.py _filtered_legacy_values 4 0 0 2 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py _profile_values 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py _assumption_values 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py _baseline_values 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py (no function) 56 0 0 0 0 100%
backend/django/Economics/settings_profiles/unit_options.py _annual_energy_basis_options 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/unit_options.py (no function) 5 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.get_queryset 6 0 0 2 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.list 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.create 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.perform_create 6 5 0 2 0 12%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.perform_update 8 0 0 4 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.perform_destroy 4 4 0 2 0 0%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.copy 6 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsAssumptionsViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsAssumptionsViewSet.perform_create 4 4 0 0 0 0%
backend/django/Economics/settings_profiles/viewsets.py EconomicsAssumptionsViewSet.perform_update 4 4 0 0 0 0%
backend/django/Economics/settings_profiles/viewsets.py EconomicsBaselineViewSet.get_queryset 3 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsBaselineViewSet.perform_create 3 3 0 0 0 0%
backend/django/Economics/settings_profiles/viewsets.py EconomicsBaselineViewSet.perform_update 3 3 0 0 0 0%
backend/django/Economics/settings_profiles/viewsets.py (no function) 40 0 0 0 0 100%
backend/django/Economics/shared/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/shared/access.py _has_write_access 3 0 0 0 0 100%
backend/django/Economics/shared/access.py _require_write_access 2 0 0 2 0 100%
backend/django/Economics/shared/access.py (no function) 5 0 0 0 0 100%
backend/django/Economics/shared/choices.py (no function) 110 0 0 0 0 100%
backend/django/Economics/shared/model_base.py _validate_same_flowsheet 2 0 0 2 0 100%
backend/django/Economics/shared/model_base.py FlowsheetScopedEconomicsModel.clean 9 0 0 6 0 100%
backend/django/Economics/shared/model_base.py FlowsheetScopedEconomicsModel.save 2 0 0 0 0 100%
backend/django/Economics/shared/model_base.py GlobalReferenceDataManager.create 1 0 0 0 0 100%
backend/django/Economics/shared/model_base.py GlobalReferenceDataManager.bulk_create 1 1 0 0 0 0%
backend/django/Economics/shared/model_base.py GlobalReferenceDataManager.get_queryset 1 0 0 0 0 100%
backend/django/Economics/shared/model_base.py GlobalReferenceDataModel.save 2 0 0 0 0 100%
backend/django/Economics/shared/model_base.py (no function) 18 0 0 0 0 100%
backend/django/Economics/shared/payloads.py result_amount 3 0 0 2 0 100%
backend/django/Economics/shared/payloads.py warning_record 1 0 0 0 0 100%
backend/django/Economics/shared/payloads.py warning_payload 1 0 0 0 0 100%
backend/django/Economics/shared/payloads.py json_ready 9 0 0 8 0 100%
backend/django/Economics/shared/payloads.py (no function) 9 0 0 0 0 100%
backend/django/Economics/shared/serializer_base.py _current_flowsheet_id 3 0 0 0 0 100%
backend/django/Economics/shared/serializer_base.py _validate_same_flowsheet 2 1 0 2 1 50%
backend/django/Economics/shared/serializer_base.py FlowsheetScopedSerializer.validate 8 0 0 4 0 100%
backend/django/Economics/shared/serializer_base.py (no function) 7 0 0 0 0 100%
backend/django/Economics/shared/serializers.py (no function) 4 0 0 0 0 100%
backend/django/Economics/shared/unit_conversion.py convert_quantity 13 2 0 2 0 87%
backend/django/Economics/shared/unit_conversion.py (no function) 5 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py registry_unit_values 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py registry_unit_options 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py price_denominator_units 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py price_denominator_options 8 1 0 4 1 83%
backend/django/Economics/shared/unit_options.py unit_options_for_choices 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py unit_options_for_unit_type 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py with_current_unit 5 0 0 2 0 100%
backend/django/Economics/shared/unit_options.py infer_physical_unit_type 8 1 0 8 1 88%
backend/django/Economics/shared/unit_options.py dedupe_unit_options 9 0 0 4 0 100%
backend/django/Economics/shared/unit_options.py with_currency 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py currency_price_options 5 0 0 2 0 100%
backend/django/Economics/shared/unit_options.py denominator_price_options 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py price_unit_options_for_rate_unit 16 3 0 12 3 79%
backend/django/Economics/shared/unit_options.py currency_prefix 2 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py rate_denominator_unit 2 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py strip_time_denominator 5 0 0 2 0 100%
backend/django/Economics/shared/unit_options.py normalize_unit 1 0 0 0 0 100%
backend/django/Economics/shared/unit_options.py (no function) 31 0 0 0 0 100%
backend/django/Economics/studies/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/studies/api_mutations.py _bad_request_from_error 1 0 0 0 0 100%
backend/django/Economics/studies/api_mutations.py _mark_study_stale 1 0 0 0 0 100%
backend/django/Economics/studies/api_mutations.py StudyMutationMixin._study_for_instance 1 0 0 0 0 100%
backend/django/Economics/studies/api_mutations.py StudyMutationMixin.perform_create 6 1 0 4 2 70%
backend/django/Economics/studies/api_mutations.py StudyMutationMixin.perform_update 6 0 0 4 1 90%
backend/django/Economics/studies/api_mutations.py StudyMutationMixin.perform_destroy 6 6 0 4 0 0%
backend/django/Economics/studies/api_mutations.py (no function) 13 0 0 0 0 100%
backend/django/Economics/studies/models.py EconomicsStudy.__str__ 1 0 0 0 0 100%
backend/django/Economics/studies/models.py (no function) 16 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.create 5 3 0 4 1 33%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_result_state 5 0 0 2 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudyFullSerializer.get_settings_profile_detail 3 1 0 2 1 60%
backend/django/Economics/studies/serializers.py EconomicsStudyFullSerializer.get_assumptions 3 1 0 2 1 60%
backend/django/Economics/studies/serializers.py EconomicsStudyFullSerializer.get_baseline 3 1 0 2 1 60%
backend/django/Economics/studies/serializers.py EconomicsStudyFullSerializer.get_current_result 4 0 0 2 0 100%
backend/django/Economics/studies/serializers.py (no function) 44 0 0 0 0 100%
backend/django/Economics/studies/services/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _EconomicsCopyContext.__init__ 9 0 0 0 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _EconomicsCopyContext.core 9 1 0 6 1 87%
backend/django/Economics/studies/services/flowsheet_copy.py _EconomicsCopyContext.economics 6 1 0 4 1 80%
backend/django/Economics/studies/services/flowsheet_copy.py copy_economics_configuration_for_flowsheet 4 0 0 0 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_cost_curves 6 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_settings_profiles 6 3 0 2 1 50%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_studies 6 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_assumptions 5 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_baselines 5 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_costable_items 6 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_cost_drivers 5 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_equipment_mappings 5 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_capital_lines 6 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _remap_capital_line_driver_inputs 16 4 0 10 4 69%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_operating_lines 6 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_metric_formulas 5 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _copy_line_formulas 5 0 0 2 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py _save_copy 2 0 0 0 0 100%
backend/django/Economics/studies/services/flowsheet_copy.py (no function) 49 0 0 0 0 100%
backend/django/Economics/studies/services/study_copy.py duplicate_study 6 0 0 0 0 100%
backend/django/Economics/studies/services/study_copy.py _duplicate_name 11 8 0 6 2 29%
backend/django/Economics/studies/services/study_copy.py _copy_assumptions 5 5 0 0 0 0%
backend/django/Economics/studies/services/study_copy.py _copy_baseline 5 5 0 0 0 0%
backend/django/Economics/studies/services/study_copy.py _copy_costable_items 7 0 0 2 0 100%
backend/django/Economics/studies/services/study_copy.py _copy_cost_driver 5 2 0 0 0 60%
backend/django/Economics/studies/services/study_copy.py _copy_equipment_mapping 5 2 0 0 0 60%
backend/django/Economics/studies/services/study_copy.py _copy_capital_lines 2 0 0 2 0 100%
backend/django/Economics/studies/services/study_copy.py _copy_operating_lines 2 1 0 2 1 50%
backend/django/Economics/studies/services/study_copy.py (no function) 15 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.get_queryset 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.get_serializer_class 3 0 0 2 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.list 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.create 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.perform_create 8 1 0 2 1 80%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.perform_update 5 0 0 2 1 86%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.full 5 0 0 2 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.operating_property_options 3 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.create_operating_line_from_property 14 4 0 0 0 71%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.create_operating_lines_from_properties 16 1 0 2 1 89%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.assumptions 24 5 0 4 1 79%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.baseline 23 5 0 4 1 78%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.enable_costing 14 2 0 0 0 86%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.recalculate 9 2 0 0 0 78%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.current_result 5 0 0 2 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.chart_datasets 6 1 0 2 1 75%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.duplicate 6 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py (no function) 73 0 0 0 0 100%
backend/django/PinchAnalysis/__init__.py (no function) 0 0 0 0 0 100%
backend/django/PinchAnalysis/apps.py (no function) 4 0 0 0 0 100%
backend/django/PinchAnalysis/models/HenNode.py (no function) 14 0 2 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py StreamDataEntry.zone 1 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py StreamDataEntry.inlet_outlet_stream 7 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py StreamDataEntry.temperatures 4 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py StreamDataEntry.pressures 4 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py StreamDataEntry.enthalpies 4 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py StreamDataEntry.heat_flow 10 2 0 6 1 81%
backend/django/PinchAnalysis/models/InputModels.py Segment.zone 1 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py Segment.zone_object 1 0 0 0 0 100%
backend/django/PinchAnalysis/models/InputModels.py Segment.create 3 3 0 0 0 0%
backend/django/PinchAnalysis/models/InputModels.py Segment._calc_area 6 1 0 2 1 75%
backend/django/PinchAnalysis/models/InputModels.py PinchUtility.create 5 5 0 0 0 0%
backend/django/PinchAnalysis/models/InputModels.py (no function) 81 0 0 0 0 100%
backend/django/PinchAnalysis/models/OptionModels.py TurbineOptions.create 4 0 0 0 0 100%
backend/django/PinchAnalysis/models/OptionModels.py MainOptions.create 5 0 0 0 0 100%
backend/django/PinchAnalysis/models/OptionModels.py create_property_set_options 11 0 0 2 0 100%
backend/django/PinchAnalysis/models/OptionModels.py (no function) 66 0 0 0 0 100%
backend/django/PinchAnalysis/models/OutputModels.py TargetSummary.create 5 5 0 0 0 0%
backend/django/PinchAnalysis/models/OutputModels.py PinchGraphSet.create 5 5 0 0 0 0%
backend/django/PinchAnalysis/models/OutputModels.py (no function) 90 0 0 0 0 100%
backend/django/PinchAnalysis/models/StreamDataProject.py StreamDataProject.create 7 0 0 0 0 100%
backend/django/PinchAnalysis/models/StreamDataProject.py (no function) 14 0 0 0 0 100%
backend/django/PinchAnalysis/models/__init__.py (no function) 0 0 0 0 0 100%
backend/django/PinchAnalysis/models/next_stream_data_entry.py same_flow_ports 4 0 0 0 0 100%
backend/django/PinchAnalysis/models/next_stream_data_entry.py build_inlet_index 6 0 0 4 1 90%
backend/django/PinchAnalysis/models/next_stream_data_entry.py iter_downstream_streams 11 2 0 12 3 78%
backend/django/PinchAnalysis/models/next_stream_data_entry.py next_sdes_for 27 3 0 14 4 83%
backend/django/PinchAnalysis/models/next_stream_data_entry.py (no function) 10 0 0 0 0 100%
backend/django/PinchAnalysis/routers.py (no function) 21 0 0 0 0 100%
backend/django/PinchAnalysis/serializers/PinchInputSerializers.py SegmentSerializer.update 5 5 0 2 0 0%
backend/django/PinchAnalysis/serializers/PinchInputSerializers.py SegmentSerializer.get_zone 4 1 0 2 1 67%
backend/django/PinchAnalysis/serializers/PinchInputSerializers.py PinchUtilitySerializer.create 1 1 0 0 0 0%
backend/django/PinchAnalysis/serializers/PinchInputSerializers.py PinchInputSerializer.create 1 1 0 0 0 0%
backend/django/PinchAnalysis/serializers/PinchInputSerializers.py (no function) 22 0 0 0 0 100%
backend/django/PinchAnalysis/serializers/PinchOptionsSerializers.py TurbineOptionsSerializer.create 1 1 0 0 0 0%
backend/django/PinchAnalysis/serializers/PinchOptionsSerializers.py MainOptionsSerializer.create 1 1 0 0 0 0%
backend/django/PinchAnalysis/serializers/PinchOptionsSerializers.py (no function) 16 0 0 0 0 100%
backend/django/PinchAnalysis/serializers/PinchOutputSerializers.py (no function) 46 0 0 0 0 100%
backend/django/PinchAnalysis/serializers/StreamDataProjectSerializer.py (no function) 7 0 0 0 0 100%
backend/django/PinchAnalysis/views/HenNodeViewSet.py HenNodeViewSet.get_queryset 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/HenNodeViewSet.py HenNodeViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/HenNodeViewSet.py (no function) 21 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchAnalysisView.py pinch_analysis_view 16 4 0 2 0 78%
backend/django/PinchAnalysis/views/PinchAnalysisView.py (no function) 13 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchInputViewSet.py PinchInputViewSet.get_queryset 4 0 0 2 0 100%
backend/django/PinchAnalysis/views/PinchInputViewSet.py PinchInputViewSet.list 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchInputViewSet.py PinchInputViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/PinchInputViewSet.py (no function) 13 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchOptionsViewSet.py PinchOptionsViewSet.get_queryset 5 0 0 2 0 100%
backend/django/PinchAnalysis/views/PinchOptionsViewSet.py PinchOptionsViewSet.list 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchOptionsViewSet.py PinchOptionsViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/PinchOptionsViewSet.py (no function) 12 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchOutputViewSet.py PinchOutputViewSet.get_queryset 9 2 0 2 0 82%
backend/django/PinchAnalysis/views/PinchOutputViewSet.py PinchOutputViewSet.list 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchOutputViewSet.py PinchOutputViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/PinchOutputViewSet.py (no function) 13 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchUtilityViewSet.py PinchUtilityViewSet.get_queryset 6 0 0 2 0 100%
backend/django/PinchAnalysis/views/PinchUtilityViewSet.py PinchUtilityViewSet.list 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/PinchUtilityViewSet.py PinchUtilityViewSet.bulk_create 13 13 0 0 0 0%
backend/django/PinchAnalysis/views/PinchUtilityViewSet.py PinchUtilityViewSet.delete_all 10 10 0 0 0 0%
backend/django/PinchAnalysis/views/PinchUtilityViewSet.py PinchUtilityViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/PinchUtilityViewSet.py (no function) 26 0 0 0 0 100%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.get_queryset 2 0 0 0 0 100%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.list 31 5 0 16 1 83%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.list.clean_node 3 0 0 2 0 100%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.create_segment 12 0 0 0 0 100%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.bulk_create 30 30 0 10 0 0%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.delete_all 8 8 0 0 0 0%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/SegmentViewSet.py (no function) 55 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_nextStream 2 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_inlet_outlet_streams 5 2 0 0 0 60%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_temperatures 5 2 0 0 0 60%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_pressures 5 2 0 0 0 60%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_enthalpies 5 2 0 0 0 60%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_heat_flow 4 2 0 0 0 50%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntrySerializer.get_unitop_type 3 1 0 2 1 60%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntryViewSet.get_queryset 5 0 0 2 0 100%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntryViewSet.get_serializer_context 3 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py StreamDataEntryViewSet.list 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataEntryViewSet.py (no function) 30 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataProjectViewSet.py StreamDataProjectViewSet.get_queryset 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataProjectViewSet.py StreamDataProjectViewSet.list 1 0 0 0 0 100%
backend/django/PinchAnalysis/views/StreamDataProjectViewSet.py StreamDataProjectViewSet.error_response 4 4 0 0 0 0%
backend/django/PinchAnalysis/views/StreamDataProjectViewSet.py StreamDataProjectViewSet.create 10 10 0 2 0 0%
backend/django/PinchAnalysis/views/StreamDataProjectViewSet.py (no function) 14 0 0 0 0 100%
backend/django/PinchAnalysis/views/henNodeHelpers.py is_hot 2 0 0 0 0 100%
backend/django/PinchAnalysis/views/henNodeHelpers.py is_cold 2 0 0 0 0 100%
backend/django/PinchAnalysis/views/henNodeHelpers.py group_stream_by_unitop_type 11 3 0 8 1 68%
backend/django/PinchAnalysis/views/henNodeHelpers.py set_hennode_connections 28 3 0 30 7 83%
backend/django/PinchAnalysis/views/henNodeHelpers.py (no function) 6 0 0 0 0 100%
backend/django/authentication/__init__.py (no function) 0 0 0 0 0 100%
backend/django/authentication/apps.py (no function) 4 0 0 0 0 100%
backend/django/authentication/custom_drf_authentication.py DaprApiTokenAuthentication.authenticate 10 0 0 6 0 100%
backend/django/authentication/custom_drf_authentication.py (no function) 9 0 0 0 0 100%
backend/django/authentication/middleware.py AhuoraRemoteUserMiddleware.process_request 1 0 0 0 0 100%
backend/django/authentication/middleware.py dummy_auth_header_middleware 2 0 0 0 0 100%
backend/django/authentication/middleware.py dummy_auth_header_middleware.middleware 10 0 0 4 0 100%
backend/django/authentication/middleware.py AsgiAuthHeaderMiddleware.__call__ 8 0 0 4 1 92%
backend/django/authentication/middleware.py (no function) 14 0 0 0 0 100%
backend/django/authentication/permissions.py _decode_proxy_access_token 8 0 0 2 0 100%
backend/django/authentication/permissions.py _get_token_scopes 4 0 0 2 0 100%
backend/django/authentication/permissions.py _resolve_assigned_permission_scope 7 0 0 4 0 100%
backend/django/authentication/permissions.py _has_assigned_permission 9 0 0 4 0 100%
backend/django/authentication/permissions.py HasHumanUserAccess.has_permission 1 0 0 0 0 100%
backend/django/authentication/permissions.py HasExcelClientAccess.has_permission 1 0 0 0 0 100%
backend/django/authentication/permissions.py (no function) 14 0 0 0 0 100%
backend/django/authentication/remote_user_backend.py _set_email_from_header 9 0 0 4 0 100%
backend/django/authentication/remote_user_backend.py _set_groups_from_header 11 0 0 4 0 100%
backend/django/authentication/remote_user_backend.py _set_name_from_header 16 1 0 8 1 92%
backend/django/authentication/remote_user_backend.py RemoteUserBackendWithEmail.configure_user 6 0 0 2 0 100%
backend/django/authentication/remote_user_backend.py (no function) 11 0 0 0 0 100%
backend/django/authentication/routers.py (no function) 5 0 0 0 0 100%
backend/django/authentication/token_exchange.py exchange_token_for_excel_delegate 22 5 0 6 1 79%
backend/django/authentication/token_exchange.py (no function) 9 0 0 0 0 100%
backend/django/authentication/token_helpers.py _ensure_not_production_mode 2 0 0 2 0 100%
backend/django/authentication/token_helpers.py build_proxy_access_token 8 0 0 2 0 100%
backend/django/authentication/token_helpers.py build_human_user_access_token 1 0 0 0 0 100%
backend/django/authentication/token_helpers.py build_excel_client_access_token 1 0 0 0 0 100%
backend/django/authentication/token_helpers.py build_general_access_token 1 1 0 0 0 0%
backend/django/authentication/token_helpers.py build_delegated_access_token 1 1 0 0 0 0%
backend/django/authentication/token_helpers.py (no function) 13 0 0 0 0 100%
backend/django/authentication/user/AccessTable.py (no function) 8 0 0 0 0 100%
backend/django/authentication/user/__init__.py (no function) 1 0 0 0 0 100%
backend/django/authentication/user/apps.py (no function) 4 0 0 0 0 100%
backend/django/authentication/user/models.py UserManager.create_user 6 1 0 2 1 75%
backend/django/authentication/user/models.py UserManager.create_superuser 9 9 0 4 0 0%
backend/django/authentication/user/models.py User.__str__ 1 0 0 0 0 100%
backend/django/authentication/user/models.py BotUser.is_authenticated 1 0 0 0 0 100%
backend/django/authentication/user/models.py BotUser.is_anonymous 1 1 0 0 0 0%
backend/django/authentication/user/models.py (no function) 21 0 0 0 0 100%
backend/django/authentication/user/views/UserInfo.py get_user_info 5 0 0 0 0 100%
backend/django/authentication/user/views/UserInfo.py (no function) 15 0 0 0 0 100%
backend/django/authentication/user/views/__init__.py (no function) 0 0 0 0 0 100%
backend/django/conftest.py pytest_configure 1 0 0 0 0 100%
backend/django/conftest.py (no function) 2 0 0 0 0 100%
backend/django/core/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/apps.py (no function) 4 0 0 0 0 100%
backend/django/core/auxiliary/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/auxiliary/apps.py AuxiliaryConfig.ready 1 0 0 0 0 100%
backend/django/core/auxiliary/apps.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/enums/FlowsheetTemplateType.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/enums/ViewType.py (no function) 3 0 0 0 0 100%
backend/django/core/auxiliary/enums/__init__.py (no function) 4 0 0 0 0 100%
backend/django/core/auxiliary/enums/generalEnums.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/enums/pinchEnums.py (no function) 39 0 0 0 0 100%
backend/django/core/auxiliary/enums/uiEnums.py (no function) 12 0 0 0 0 100%
backend/django/core/auxiliary/enums/unitOpData.py (no function) 108 0 0 0 0 100%
backend/django/core/auxiliary/enums/unitOpGraphics.py (no function) 37 0 0 0 0 100%
backend/django/core/auxiliary/enums/unitsLibrary.py get_default_unit 3 0 0 2 0 100%
backend/django/core/auxiliary/enums/unitsLibrary.py get_unit_choices 3 1 0 2 1 60%
backend/django/core/auxiliary/enums/unitsLibrary.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/enums/unitsOfMeasure.py (no function) 88 0 0 0 0 100%
backend/django/core/auxiliary/formula_limits.py validate_formula_length 3 0 0 2 0 100%
backend/django/core/auxiliary/formula_limits.py (no function) 4 0 0 0 0 100%
backend/django/core/auxiliary/formula_units.py formula_unit_expression 7 2 0 4 2 64%
backend/django/core/auxiliary/formula_units.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/managers/TaskManager.py handle_task_running_event 11 3 0 2 0 77%
backend/django/core/auxiliary/managers/TaskManager.py (no function) 9 0 0 0 0 100%
backend/django/core/auxiliary/managers/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/auxiliary/methods/CompoundSuggestionMethods.py get_compound_suggestions 11 0 0 6 0 100%
backend/django/core/auxiliary/methods/CompoundSuggestionMethods.py (no function) 4 0 0 0 0 100%
backend/django/core/auxiliary/methods/CopyFlowsheet.py copy_flowsheet_data 23 5 0 0 0 78%
backend/django/core/auxiliary/methods/CopyFlowsheet.py create_module_from_template_logic 34 1 0 12 3 91%
backend/django/core/auxiliary/methods/CopyFlowsheet.py (no function) 18 0 0 0 0 100%
backend/django/core/auxiliary/methods/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_caching.py ModelLookup.__init__ 3 0 0 2 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_caching.py ModelLookup.get_model 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_caching.py ModelLookup.__iter__ 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_caching.py get_prefetch_fields 5 0 0 4 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_caching.py (no function) 14 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_foreign_keys.py _create_foreign_key_lookups 8 0 0 4 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_foreign_keys.py create_foreign_key_lookups 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_foreign_keys.py create_foreign_key_lookups_for_modules 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_foreign_keys.py _update_relationships 17 6 0 10 3 67%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_foreign_keys.py update_foreign_keys 14 0 0 14 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_foreign_keys.py (no function) 22 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_formulas.py update_formulas 16 2 0 10 2 85%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_formulas.py (no function) 6 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_many_to_many.py ManyToManyLookup.__init__ 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_many_to_many.py ManyToManyLookup.add 3 0 0 2 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_many_to_many.py create_many_to_many_lookups 11 0 0 10 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_many_to_many.py update_many_to_many_relationships 11 0 0 6 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_many_to_many.py (no function) 11 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_primary_keys.py update_primary_keys 3 0 0 4 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/copy_primary_keys.py (no function) 2 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_flowsheet/models_to_copy.py (no function) 26 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/__init__.py (no function) 2 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/copy_object.py BoundSource.__init__ 3 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject.__init__ 4 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject.copy 15 1 0 10 1 92%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._get_root_sources 3 1 0 2 1 60%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._copy_bound_sources 14 2 0 4 1 83%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._build_clone 17 1 0 10 1 93%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._collect_child_sources 19 1 0 12 2 90%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._schedule_forward_relation_updates 4 0 0 2 0 100%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._schedule_forward_relation_updates.update_relations 24 1 0 16 2 92%
backend/django/core/auxiliary/methods/copy_object/copy_object.py CopyObject._apply_pending_updates 2 0 0 2 0 100%
backend/django/core/auxiliary/methods/copy_object/copy_object.py (no function) 20 0 0 0 0 100%
backend/django/core/auxiliary/methods/custom_property_packages/add_compound_to_package.py add_compound_to_property_package 7 2 0 2 1 67%
backend/django/core/auxiliary/methods/custom_property_packages/add_compound_to_package.py remove_compound_from_property_package 3 3 0 0 0 0%
backend/django/core/auxiliary/methods/custom_property_packages/add_compound_to_package.py (no function) 3 0 0 0 0 100%
backend/django/core/auxiliary/methods/custom_property_packages/create_compound.py add_compound 4 0 0 0 0 100%
backend/django/core/auxiliary/methods/custom_property_packages/create_compound.py (no function) 3 0 0 0 0 100%
backend/django/core/auxiliary/methods/custom_property_packages/create_property_package.py add_property_package 4 0 0 0 0 100%
backend/django/core/auxiliary/methods/custom_property_packages/create_property_package.py (no function) 3 0 0 0 0 100%
backend/django/core/auxiliary/methods/export_scenario_data.py values_per_index 3 1 0 2 1 60%
backend/django/core/auxiliary/methods/export_scenario_data.py export_scenario_data 30 2 0 18 1 90%
backend/django/core/auxiliary/methods/export_scenario_data.py collate 8 4 0 4 1 42%
backend/django/core/auxiliary/methods/export_scenario_data.py (no function) 7 0 0 0 0 100%
backend/django/core/auxiliary/methods/replace_expression_ids.py get_formula_keys 5 1 0 2 1 71%
backend/django/core/auxiliary/methods/replace_expression_ids.py extract_id_from_formula_key 4 1 0 2 1 67%
backend/django/core/auxiliary/methods/replace_expression_ids.py replace_props 8 1 0 4 1 83%
backend/django/core/auxiliary/methods/replace_expression_ids.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/models/BuildStateRequestVersion.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/models/ControlValue.py ControlValue.create 2 0 0 0 0 100%
backend/django/core/auxiliary/models/ControlValue.py ControlValue.delete 1 0 0 0 0 100%
backend/django/core/auxiliary/models/ControlValue.py (no function) 13 0 4 0 0 100%
backend/django/core/auxiliary/models/CustomPropertyPackage.py (no function) 62 0 2 0 0 100%
backend/django/core/auxiliary/models/DataCell.py (no function) 12 0 0 0 0 100%
backend/django/core/auxiliary/models/DataColumn.py (no function) 14 0 0 0 0 100%
backend/django/core/auxiliary/models/DataRow.py (no function) 10 0 0 0 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.create 12 0 0 0 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.set_saved_date 2 0 0 0 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.with_user_access 3 0 0 2 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.share_flowsheet 9 0 0 6 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.update_shared_user_access 8 0 0 2 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.get_flowsheets_by_view_type 8 0 0 6 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.get_shared_users 3 0 0 0 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.remove_user 5 1 0 2 1 71%
backend/django/core/auxiliary/models/Flowsheet.py (no function) 35 0 0 0 0 100%
backend/django/core/auxiliary/models/IndexedItem.py (no function) 17 0 0 0 0 100%
backend/django/core/auxiliary/models/MLColumnMapping.py (no function) 17 0 0 0 0 100%
backend/django/core/auxiliary/models/MLModel.py (no function) 21 0 0 0 0 100%
backend/django/core/auxiliary/models/MLWizard.py create_column_mapping 20 0 0 6 0 100%
backend/django/core/auxiliary/models/MLWizard.py train 7 1 0 2 1 78%
backend/django/core/auxiliary/models/MLWizard.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/models/MonitoringTable.py MonitoringTableProperty.save 6 2 0 2 0 75%
backend/django/core/auxiliary/models/MonitoringTable.py (no function) 27 0 0 0 0 100%
backend/django/core/auxiliary/models/Note.py Note.create 3 0 0 0 0 100%
backend/django/core/auxiliary/models/Note.py Note.set_saved_date 2 0 0 0 0 100%
backend/django/core/auxiliary/models/Note.py (no function) 16 0 0 0 0 100%
backend/django/core/auxiliary/models/ObjectTypeCounter.py ObjectTypeCounter.__str__ 1 1 0 0 0 0%
backend/django/core/auxiliary/models/ObjectTypeCounter.py ObjectTypeCounter.next_for 7 0 0 0 0 100%
backend/django/core/auxiliary/models/ObjectTypeCounter.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/models/ProcessPath.py ProcessPath.create 4 4 0 0 0 0%
backend/django/core/auxiliary/models/ProcessPath.py (no function) 13 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.create 5 0 0 2 1 86%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.create_save 5 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.get_value_bulk 4 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.set_value_bulk 3 3 0 0 0 0%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.get_value_object 5 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.get_value 4 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.set_value 3 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.get_indexes 2 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.has_value 4 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.has_value_bulk 4 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.get_cutoff_and_property_values 10 1 0 4 1 86%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.isSpecified 4 0 0 4 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.enable 20 1 0 12 1 94%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.is_recycle_var 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.add_control 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.unit_conversion 10 0 0 6 1 94%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.get_schema 3 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py PropertyInfo.is_custom_property 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py check_is_except_last 6 0 0 4 0 100%
backend/django/core/auxiliary/models/PropertyInfo.py (no function) 74 0 4 0 0 100%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.containedProperties 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.schema 1 1 0 0 0 0%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.disable_all 12 1 0 10 1 91%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.has_simulation_object 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.get_property 5 2 0 0 0 60%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.update_property 6 0 0 4 0 100%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.add_control 5 0 0 4 1 89%
backend/django/core/auxiliary/models/PropertySet.py PropertySet.get_unspecified_properties 3 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertySet.py (no function) 29 0 2 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.enable 2 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.get_index 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.has_value 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.get_indexed_items 7 0 0 2 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.get_indexes 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.get_simulation_object 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.get_index_names 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.is_control_set_point 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.is_control_manipulated 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.is_externally_controlled 7 1 0 6 1 85%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.is_enabled 1 0 0 0 0 100%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.add_control 1 1 0 0 0 0%
backend/django/core/auxiliary/models/PropertyValue.py PropertyValue.auto_replace 17 2 0 8 3 80%
backend/django/core/auxiliary/models/PropertyValue.py sort_indexes 10 0 0 6 0 100%
backend/django/core/auxiliary/models/PropertyValue.py (no function) 36 0 4 0 0 100%
backend/django/core/auxiliary/models/RecycleData.py RecycleData.update 18 1 0 14 1 94%
backend/django/core/auxiliary/models/RecycleData.py RecycleData.clear 1 0 0 0 0 100%
backend/django/core/auxiliary/models/RecycleData.py (no function) 19 0 0 0 0 100%
backend/django/core/auxiliary/models/Scenario.py (no function) 83 0 0 0 0 100%
backend/django/core/auxiliary/models/Solution.py (no function) 11 0 0 0 0 100%
backend/django/core/auxiliary/models/SolveCompletionEmail.py (no function) 38 0 0 0 0 100%
backend/django/core/auxiliary/models/Task.py Task.create 4 0 0 2 0 100%
backend/django/core/auxiliary/models/Task.py Task.create_parent_task 4 0 0 0 0 100%
backend/django/core/auxiliary/models/Task.py Task.update_status_from_child 18 5 0 8 2 65%
backend/django/core/auxiliary/models/Task.py Task.increment_cancelled_children_for_parent 3 1 0 2 1 60%
backend/django/core/auxiliary/models/Task.py Task.set_failure_with_exception 7 0 0 4 2 82%
backend/django/core/auxiliary/models/Task.py (no function) 43 0 0 0 0 100%
backend/django/core/auxiliary/models/UploadSession.py (no function) 38 0 0 0 0 100%
backend/django/core/auxiliary/models/__init__.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_info_saved 2 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_info_deleting 2 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_info_deleted 2 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_value_saved 2 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_value_deleted 2 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/property_state.py reject_property_update 15 1 0 14 1 93%
backend/django/core/auxiliary/property_state.py validate_objective_property 7 0 0 4 1 91%
backend/django/core/auxiliary/property_state.py validate_optimization_dof_property_value 3 0 0 2 0 100%
backend/django/core/auxiliary/property_state.py is_incomplete_formula_property 1 1 0 0 0 0%
backend/django/core/auxiliary/property_state.py property_incomplete_reason 3 3 0 2 0 0%
backend/django/core/auxiliary/property_state.py _actions_for_payload 10 1 0 8 1 89%
backend/django/core/auxiliary/property_state.py (no function) 10 0 3 0 0 100%
backend/django/core/auxiliary/serializers/ControlValueSerializer.py ControlValueSerializer.create 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ControlValueSerializer.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/serializers/CustomPropertyPackageSerializer.py CustomCompoundSerializer.create 4 1 0 2 1 67%
backend/django/core/auxiliary/serializers/CustomPropertyPackageSerializer.py CustomPropertyPackageSerializer.create 4 1 0 2 1 67%
backend/django/core/auxiliary/serializers/CustomPropertyPackageSerializer.py (no function) 36 0 0 0 0 100%
backend/django/core/auxiliary/serializers/DataCellSerializer.py (no function) 6 0 0 0 0 100%
backend/django/core/auxiliary/serializers/DataColumnSerializer.py DataColumnSerializer.get_propertySimulationObject 3 0 0 2 0 100%
backend/django/core/auxiliary/serializers/DataColumnSerializer.py (no function) 10 0 0 0 0 100%
backend/django/core/auxiliary/serializers/DataRowSerializer.py (no function) 6 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer._get_user_access_row 6 1 0 4 1 80%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.get_access 20 1 0 6 1 92%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.create 5 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.validate 6 0 0 2 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/serializers/IndexedItemSerializer.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/serializers/LiveSolarDataSerializer.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/serializers/MLColumnMappingsSerializer.py (no function) 7 0 0 0 0 100%
backend/django/core/auxiliary/serializers/MLModelSerializer.py (no function) 7 0 0 0 0 100%
backend/django/core/auxiliary/serializers/MonitoringTableSerializer.py MonitoringTablePropertySerializer.validate 5 1 0 2 1 71%
backend/django/core/auxiliary/serializers/MonitoringTableSerializer.py MonitoringTableSerializer.create 6 1 0 2 1 75%
backend/django/core/auxiliary/serializers/MonitoringTableSerializer.py MonitoringTableSerializer.update 8 0 0 4 0 100%
backend/django/core/auxiliary/serializers/MonitoringTableSerializer.py (no function) 17 0 0 0 0 100%
backend/django/core/auxiliary/serializers/NoteSerializer.py NoteSerializer.create 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/NoteSerializer.py (no function) 10 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProcessPathSerializer.py (no function) 7 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyInfoSerializer.py PropertyInfoSerializer.validate 2 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyInfoSerializer.py PropertyInfoSerializer.update 5 0 0 2 0 100%
backend/django/core/auxiliary/serializers/PropertyInfoSerializer.py PropertySetSerializer.get_unspecifiedProperties 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyInfoSerializer.py (no function) 29 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.get_indexedSets 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.get_indexedSetNames 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.get_diagnosticFindings 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.validate_formula 4 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.validate 5 0 0 2 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.update 6 1 0 2 1 75%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.handle_save 5 0 0 0 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.handle_update 74 14 0 32 3 80%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.handle_update.handle_save 1 0 0 2 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer.handle_update.get_revert_values 2 0 0 2 0 100%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py PropertyValueSerializer._attach_diagnostics_findings 25 7 0 2 0 74%
backend/django/core/auxiliary/serializers/PropertyValueSerializer.py (no function) 41 0 0 0 0 100%
backend/django/core/auxiliary/serializers/RecycleDataSerializer.py RecycleDataSerializer.update 4 0 0 2 1 83%
backend/django/core/auxiliary/serializers/RecycleDataSerializer.py (no function) 11 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ScenarioSerializer.py OptimizationDegreesOfFreedomSerializer.validate_propertyValue 2 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ScenarioSerializer.py OptimizationDegreesOfFreedomSerializer.get_isFreeVariable 3 0 0 2 0 100%
backend/django/core/auxiliary/serializers/ScenarioSerializer.py ScenarioSerializer.get_parameterSweepDefinition 5 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ScenarioSerializer.py ScenarioSerializer.validate_objective 2 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ScenarioSerializer.py (no function) 30 0 0 0 0 100%
backend/django/core/auxiliary/serializers/SolutionSerializer.py SolutionSerializer.get_name 3 3 0 0 0 0%
backend/django/core/auxiliary/serializers/SolutionSerializer.py (no function) 10 0 0 0 0 100%
backend/django/core/auxiliary/serializers/TaskSerializer.py TaskSerializer.get_error 5 0 0 2 0 100%
backend/django/core/auxiliary/serializers/TaskSerializer.py (no function) 17 0 0 0 0 100%
backend/django/core/auxiliary/serializers/__init__.py (no function) 1 0 0 0 0 100%
backend/django/core/auxiliary/services/csv_inspect.py (no function) 1 0 0 0 0 100%
backend/django/core/auxiliary/services/csv_lifecycle.py completed_csv_lifecycle_ttl 5 1 0 4 1 78%
backend/django/core/auxiliary/services/csv_lifecycle.py expires_at_from_ttl 1 0 0 0 0 100%
backend/django/core/auxiliary/services/csv_lifecycle.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py get_bucket_name 4 1 0 2 1 67%
backend/django/core/auxiliary/services/object_storage/s3.py _client_config 4 0 0 2 1 83%
backend/django/core/auxiliary/services/object_storage/s3.py _build_client 1 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py get_s3_client 4 1 0 2 1 67%
backend/django/core/auxiliary/services/object_storage/s3.py get_presign_client 4 1 0 2 1 67%
backend/django/core/auxiliary/services/object_storage/s3.py _lifecycle_rule_id 1 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py _get_lifecycle_rules 8 1 0 2 1 80%
backend/django/core/auxiliary/services/object_storage/s3.py _put_lifecycle_rule 3 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py _sanitize_content_disposition_filename 2 2 0 0 0 0%
backend/django/core/auxiliary/services/object_storage/s3.py schedule_object_expiration 1 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py create_multipart_upload 2 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py presign_upload_part 1 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py presign_download_url 2 2 0 0 0 0%
backend/django/core/auxiliary/services/object_storage/s3.py list_uploaded_parts 10 1 0 2 1 83%
backend/django/core/auxiliary/services/object_storage/s3.py complete_multipart_upload 3 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py abort_multipart_upload 1 1 0 0 0 0%
backend/django/core/auxiliary/services/object_storage/s3.py get_range 2 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py stream_object 2 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py object_exists 8 8 0 2 0 0%
backend/django/core/auxiliary/services/object_storage/s3.py delete_object 1 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py (no function) 34 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py ParameterSweepParameterRequest.validate_decimal 3 1 0 2 1 60%
backend/django/core/auxiliary/services/parameter_sweep.py ParameterSweepRequest.validate_method_requirements 19 3 0 16 3 83%
backend/django/core/auxiliary/services/parameter_sweep.py eligible_parameter_sweep_targets 2 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py preview_parameter_sweep 5 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py generate_parameter_sweep 36 0 0 12 1 98%
backend/django/core/auxiliary/services/parameter_sweep.py clear_parameter_sweep_definition 1 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py clear_mss_input_data 6 0 0 2 1 88%
backend/django/core/auxiliary/services/parameter_sweep.py clear_mss_input_data_after_mode_switch 5 2 0 4 2 56%
backend/django/core/auxiliary/services/parameter_sweep.py validate_parameter_sweep_solve_ready 13 2 0 6 2 79%
backend/django/core/auxiliary/services/parameter_sweep.py _generate_rows 11 1 0 8 1 89%
backend/django/core/auxiliary/services/parameter_sweep.py _calculate_row_count 11 0 0 8 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _validate_total_cell_count 3 0 0 2 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _grid_values 7 0 0 2 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _grid_value_count 14 3 0 8 3 73%
backend/django/core/auxiliary/services/parameter_sweep.py _monte_carlo_rows 2 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _hammersley_rows 5 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _halton_rows 4 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _scale_points 1 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _scale_unit_interval 3 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _validate_targets 16 4 0 10 4 69%
backend/django/core/auxiliary/services/parameter_sweep.py _is_eligible_target 1 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _parameter_value_count 3 0 0 2 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _serialize_target 1 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _target_label 4 0 0 0 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _unique_column_name 4 1 0 2 1 67%
backend/django/core/auxiliary/services/parameter_sweep.py _coerce_sweep_request 8 0 0 2 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py _validate_grid_parameter 8 2 0 8 2 75%
backend/django/core/auxiliary/services/parameter_sweep.py _drf_validation_error_from_pydantic 6 0 0 2 0 100%
backend/django/core/auxiliary/services/parameter_sweep.py (no function) 101 0 0 0 0 100%
backend/django/core/auxiliary/services/pinch_import.py _send_task_update 1 0 0 0 0 100%
backend/django/core/auxiliary/services/pinch_import.py _get_pinch_project 4 2 0 0 0 50%
backend/django/core/auxiliary/services/pinch_import.py _get_completed_pinch_upload 11 5 0 6 3 53%
backend/django/core/auxiliary/services/pinch_import.py enqueue_pinch_utility_import 12 0 0 4 0 100%
backend/django/core/auxiliary/services/pinch_import.py _row_has_any_supported_value 1 0 0 0 0 100%
backend/django/core/auxiliary/services/pinch_import.py _parse_float 4 1 0 2 1 67%
backend/django/core/auxiliary/services/pinch_import.py _parse_type 6 1 0 4 1 80%
backend/django/core/auxiliary/services/pinch_import.py _build_utility 6 2 0 4 2 60%
backend/django/core/auxiliary/services/pinch_import.py _flush_utilities 10 4 0 4 2 57%
backend/django/core/auxiliary/services/pinch_import.py process_pinch_utility_import 49 9 0 18 7 76%
backend/django/core/auxiliary/services/pinch_import.py mark_pinch_utility_import_delivery_failure 8 1 0 2 1 80%
backend/django/core/auxiliary/services/pinch_import.py (no function) 35 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_import.py _send_task_update 1 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_import.py _get_completed_scenario_upload 13 6 0 8 4 52%
backend/django/core/auxiliary/services/scenario_import.py _get_importable_scenario 7 1 0 2 1 78%
backend/django/core/auxiliary/services/scenario_import.py enqueue_scenario_import 12 0 0 4 0 100%
backend/django/core/auxiliary/services/scenario_import.py _flush_rows 16 4 0 8 2 75%
backend/django/core/auxiliary/services/scenario_import.py process_scenario_import 66 10 0 24 9 79%
backend/django/core/auxiliary/services/scenario_import.py mark_scenario_import_delivery_failure 8 1 0 2 1 80%
backend/django/core/auxiliary/services/scenario_import.py (no function) 30 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py queue_solve_completion_email_for_task 4 0 0 2 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py build_solve_completion_email_request 23 4 0 14 3 81%
backend/django/core/auxiliary/services/solve_completion_email.py deliver_solve_completion_email 23 4 0 4 0 85%
backend/django/core/auxiliary/services/solve_completion_email.py _resolve_scenario_id 7 0 0 4 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _was_dispatched_to_idaes 3 0 0 2 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _classify_outcome 13 3 0 10 3 74%
backend/django/core/auxiliary/services/solve_completion_email.py _summary_counts 6 1 0 4 1 80%
backend/django/core/auxiliary/services/solve_completion_email.py _claim_email_record 6 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _mark_email_record 7 0 0 2 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _build_email_context 7 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _build_solve_url 3 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _outcome_label 2 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _headline 2 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _outcome_icon_details 2 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py _body_copy 2 0 0 0 0 100%
backend/django/core/auxiliary/services/solve_completion_email.py (no function) 29 0 0 0 0 100%
backend/django/core/auxiliary/services/upload_types.py (no function) 43 0 0 0 0 100%
backend/django/core/auxiliary/services/uploads.py _schedule_csv_expiration 3 0 0 0 0 100%
backend/django/core/auxiliary/services/uploads.py _can_resume_upload_session 2 0 0 0 0 100%
backend/django/core/auxiliary/services/uploads.py _get_in_progress_upload_session 4 0 0 2 0 100%
backend/django/core/auxiliary/services/uploads.py _validate_flowsheet_linkage 7 1 0 6 1 85%
backend/django/core/auxiliary/services/uploads.py _normalise_filename 9 1 0 2 1 82%
backend/django/core/auxiliary/services/uploads.py _build_object_key 2 0 0 0 0 100%
backend/django/core/auxiliary/services/uploads.py _get_simulation_object 4 2 0 0 0 50%
backend/django/core/auxiliary/services/uploads.py _get_scenario 4 2 0 0 0 50%
backend/django/core/auxiliary/services/uploads.py _get_owned_upload_session 7 3 0 2 1 56%
backend/django/core/auxiliary/services/uploads.py initiate_upload_session 25 6 0 16 6 71%
backend/django/core/auxiliary/services/uploads.py get_part_urls 7 1 0 4 2 73%
backend/django/core/auxiliary/services/uploads.py get_upload_session 2 0 0 0 0 100%
backend/django/core/auxiliary/services/uploads.py get_upload_status 6 0 0 2 0 100%
backend/django/core/auxiliary/services/uploads.py _validate_completed_parts 15 1 0 8 1 91%
backend/django/core/auxiliary/services/uploads.py complete_upload 12 2 0 4 2 75%
backend/django/core/auxiliary/services/uploads.py _abort_multipart_upload_best_effort 4 0 0 0 0 100%
backend/django/core/auxiliary/services/uploads.py _synchronise_upload_session_state 17 3 0 8 1 84%
backend/django/core/auxiliary/services/uploads.py abort_upload 9 9 0 4 0 0%
backend/django/core/auxiliary/services/uploads.py inspect_upload_session 14 1 0 4 1 89%
backend/django/core/auxiliary/services/uploads.py attach_upload_to_ml_model 22 4 0 10 4 75%
backend/django/core/auxiliary/services/uploads.py cleanup_upload_sessions 10 0 0 2 0 100%
backend/django/core/auxiliary/services/uploads.py (no function) 43 0 0 0 0 100%
backend/django/core/auxiliary/signals.py _shorten_csv_lifecycle 7 1 0 2 1 78%
backend/django/core/auxiliary/signals.py shorten_upload_session_csv_lifecycle_on_delete 3 1 0 2 1 60%
backend/django/core/auxiliary/signals.py shorten_ml_results_lifecycle_on_delete 3 0 0 4 1 86%
backend/django/core/auxiliary/signals.py (no function) 14 0 0 0 0 100%
backend/django/core/auxiliary/views/CompoundSuggestionViews.py get_suggestions 11 6 0 0 0 45%
backend/django/core/auxiliary/views/CompoundSuggestionViews.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/views/CopyFlowsheetView.py copy_flowsheet 12 2 0 2 0 86%
backend/django/core/auxiliary/views/CopyFlowsheetView.py (no function) 12 0 0 0 0 100%
backend/django/core/auxiliary/views/DeleteMSSData.py delete_data 15 0 0 4 1 95%
backend/django/core/auxiliary/views/DeleteMSSData.py (no function) 16 0 0 0 0 100%
backend/django/core/auxiliary/views/DownloadMSSData.py _escape_for_m_string 1 0 0 0 0 100%
backend/django/core/auxiliary/views/DownloadMSSData.py transform_to_csv 5 5 0 4 0 0%
backend/django/core/auxiliary/views/DownloadMSSData.py DownloadMSSResultsQuerySerializer._parse_properties_query_param 23 6 0 12 2 71%
backend/django/core/auxiliary/views/DownloadMSSData.py DownloadMSSResultsQuerySerializer.to_internal_value 7 4 0 4 1 36%
backend/django/core/auxiliary/views/DownloadMSSData.py download_data 12 12 0 2 0 0%
backend/django/core/auxiliary/views/DownloadMSSData.py download_mss_results 12 0 0 0 0 100%
backend/django/core/auxiliary/views/DownloadMSSData.py download_excel_connection 20 1 0 4 1 92%
backend/django/core/auxiliary/views/DownloadMSSData.py (no function) 50 0 0 0 0 100%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py get_compounds 4 0 0 0 0 100%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py create_he_streams 6 0 0 4 1 90%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py compare_compositions 3 0 0 0 0 100%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py _calc_area 6 1 0 2 1 75%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py _get_io_stream_properties 8 1 0 2 1 80%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py _get_stream_type 8 0 0 6 0 100%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py _get_terminal_states 10 2 0 4 2 71%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py _stream_segment_creator 8 0 0 2 0 100%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py extract_stream_data 44 7 0 12 3 82%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py check_target_temperature_validity 3 1 0 2 1 60%
backend/django/core/auxiliary/views/ExtractSegmentDataFromFS.py (no function) 32 0 0 0 0 100%
backend/django/core/auxiliary/views/GenerateIDAESPython.py generate_idaes_python 8 8 0 0 0 0%
backend/django/core/auxiliary/views/GenerateIDAESPython.py (no function) 12 0 0 0 0 100%
backend/django/core/auxiliary/views/HealthChecks.py get_api_status 1 1 0 0 0 0%
backend/django/core/auxiliary/views/HealthChecks.py check_db_connectivity 16 16 0 4 0 0%
backend/django/core/auxiliary/views/HealthChecks.py (no function) 13 0 0 0 0 100%
backend/django/core/auxiliary/views/LiveSolarData.py build_url 1 1 0 0 0 0%
backend/django/core/auxiliary/views/LiveSolarData.py parse_csv 11 11 0 4 0 0%
backend/django/core/auxiliary/views/LiveSolarData.py get_solar_data 21 21 0 4 0 0%
backend/django/core/auxiliary/views/LiveSolarData.py (no function) 20 0 0 0 0 100%
backend/django/core/auxiliary/views/SolveView.py create_error 1 0 0 0 0 100%
backend/django/core/auxiliary/views/SolveView.py solve_idaes 25 6 0 6 1 77%
backend/django/core/auxiliary/views/SolveView.py process_idaes_solve_completion_event 4 0 0 0 0 100%
backend/django/core/auxiliary/views/SolveView.py process_failed_idaes_solve_event 4 4 0 0 0 0%
backend/django/core/auxiliary/views/SolveView.py process_build_state_response_event 3 0 0 0 0 100%
backend/django/core/auxiliary/views/SolveView.py process_build_state_request_dead_letter_event 7 7 0 0 0 0%
backend/django/core/auxiliary/views/SolveView.py process_dispatch_multi_solve 4 0 0 0 0 100%
backend/django/core/auxiliary/views/SolveView.py process_solve_completion_email_event 3 0 0 0 0 100%
backend/django/core/auxiliary/views/SolveView.py cancel_idaes_solve_handler 12 1 0 4 1 88%
backend/django/core/auxiliary/views/SolveView.py (no function) 82 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadMSSData.py upload_data 53 8 0 18 4 83%
backend/django/core/auxiliary/views/UploadMSSData.py (no function) 20 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py _parse_scenario_import_event 5 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py _parse_pinch_utility_import_event 5 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py initiate_multipart_upload 7 1 0 2 1 78%
backend/django/core/auxiliary/views/UploadSessionViews.py get_multipart_part_urls 4 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py get_multipart_upload_status 4 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py complete_multipart_upload 4 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py abort_multipart_upload 4 4 0 0 0 0%
backend/django/core/auxiliary/views/UploadSessionViews.py inspect_uploaded_csv 5 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py import_scenario_from_upload 4 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py import_pinch_utilities_from_upload 4 0 0 0 0 100%
backend/django/core/auxiliary/views/UploadSessionViews.py process_scenario_import_event 5 1 0 2 1 71%
backend/django/core/auxiliary/views/UploadSessionViews.py process_scenario_import_error_event 5 5 0 2 0 0%
backend/django/core/auxiliary/views/UploadSessionViews.py process_pinch_utility_import_event 5 1 0 2 1 71%
backend/django/core/auxiliary/views/UploadSessionViews.py process_pinch_utility_import_error_event 5 5 0 2 0 0%
backend/django/core/auxiliary/views/UploadSessionViews.py (no function) 141 0 0 0 0 100%
backend/django/core/auxiliary/views/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CompoundViewSet.py CompoundViewSet.list 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CompoundViewSet.py CompoundViewSet.list.get_compound_item 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CompoundViewSet.py (no function) 14 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ControlValueViewSet.py ControlValueViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ControlValueViewSet.py ControlValueViewSet.list 1 1 0 0 0 0%
backend/django/core/auxiliary/viewsets/ControlValueViewSet.py (no function) 11 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py CustomPropertyPackageViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py CustomPropertyPackageViewSet.add_compound_to_package 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py CustomPropertyPackageViewSet.remove_compound_from_property_package 6 6 0 0 0 0%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py CustomCompoundViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py CustomPropertyPackagePropertyViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py CompoundPropertyViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py KappaViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/CustomPropertyPackageViewSet.py (no function) 32 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataCellViewSet.py DataCellViewSet.get_queryset 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataCellViewSet.py DataCellViewSet.list 1 1 0 0 0 0%
backend/django/core/auxiliary/viewsets/DataCellViewSet.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py DataColumnViewSet.get_queryset 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py DataColumnViewSet.list 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py DataColumnViewSet.download_tag_mappings 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py create_data_column_json 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py (no function) 18 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.get_queryset 5 1 0 2 1 71%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.list 1 1 0 0 0 0%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.full_input_table 32 3 0 14 1 91%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.input_row 17 4 0 4 2 71%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.output_row 20 7 0 8 2 54%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.output_graph 30 3 0 12 1 90%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py FlowsheetTemplateViewSet.get_queryset 4 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py FlowsheetTemplateViewSet.create_flowsheet_template 13 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py FlowsheetTemplateViewSet.create_from_flowsheet_template 10 1 0 0 0 90%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py FlowsheetTemplateViewSet.create_module_from_template 25 4 0 6 1 84%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py FlowsheetTemplateViewSet.revert_flowsheet_template 14 5 0 6 1 70%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py (no function) 36 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet._with_current_user_access 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.get_queryset 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.list 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.retrieve 14 2 0 4 0 89%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.create 4 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet._is_read_only_sharee 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.update 3 1 0 2 1 60%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.partial_update 3 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.destroy 3 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.share_flowsheet 14 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.list_shared_users 9 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.remove_user 11 1 0 0 0 91%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.update_shared_user_access 12 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py (no function) 58 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/IndexedItemViewSet.py IndexedItemViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/IndexedItemViewSet.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLColumnMappingsViewSet.py MLColumnMappingsViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLColumnMappingsViewSet.py MLColumnMappingsViewSet.bulk_create_column_mapping 14 3 0 0 0 79%
backend/django/core/auxiliary/viewsets/MLColumnMappingsViewSet.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py _parse_ml_training_completion_event 5 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py UpdateMLModelSerializer.validate 3 1 0 2 1 60%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet._validate_single_model_rule 4 0 0 4 1 88%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet._update_ml_model 16 0 0 4 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.update 1 1 0 0 0 0%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.partial_update 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.list 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.create 13 2 0 0 0 85%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.get_csv_header 21 9 0 8 3 59%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.upload_model 12 12 0 0 0 0%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.create_surrogate_model 10 3 0 2 1 67%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.export_flowsheet 11 3 0 2 1 69%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.download_test_results 15 3 0 4 1 79%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.destroy 9 2 0 4 1 77%
backend/django/core/auxiliary/viewsets/MLViewSet.py process_ml_training_event 5 1 0 2 1 71%
backend/django/core/auxiliary/viewsets/MLViewSet.py (no function) 84 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MonitoringTableViewSet.py MonitoringTableViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MonitoringTableViewSet.py MonitoringTableViewSet.list 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MonitoringTableViewSet.py MonitoringTablePropertyViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MonitoringTableViewSet.py MonitoringTablePropertyViewSet.list 1 1 0 0 0 0%
backend/django/core/auxiliary/viewsets/MonitoringTableViewSet.py (no function) 16 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/NoteViewSet.py NoteViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/NoteViewSet.py NoteViewSet.list 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/NoteViewSet.py NoteViewSet.update 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/NoteViewSet.py (no function) 17 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProcessPathViewSet.py ProcessPathViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProcessPathViewSet.py (no function) 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py PropertyInfoViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py PropertyInfoViewSet.perform_update 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py PropertyInfoViewSet.perform_destroy 5 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py HistoryViewSet.get_queryset 5 1 0 2 1 71%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py HistoryViewSet.delete 4 4 0 0 0 0%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py (no function) 26 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.get_queryset 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.update_compound_mode 15 15 0 6 0 0%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.normalize_compound_values 20 0 0 4 1 96%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.normalize_compound_values.normalise_fractions 14 2 0 10 2 83%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.normalize_compound_values.mass_frac_to_molar_frac 8 1 0 6 2 79%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.update_turbine_type 26 1 0 4 1 93%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.update_hx_type 28 1 0 6 1 94%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.create_simulation_object 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.error_response 4 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.retrieve 9 2 0 2 1 73%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py (no function) 48 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.perform_update 3 0 0 2 1 80%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.perform_destroy 6 0 0 2 1 88%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.update 8 1 0 0 0 88%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.auto_replace 6 0 0 2 1 88%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.download_tag_mappings 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py create_property_value_tag_json 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py (no function) 25 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/RecycleDataViewSet.py RecycleDataViewSet.get_queryset 14 2 0 6 2 80%
backend/django/core/auxiliary/viewsets/RecycleDataViewSet.py RecycleDataViewSet.list 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/RecycleDataViewSet.py RecyclePropertyViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/RecycleDataViewSet.py RecyclePropertyViewSet.update 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/RecycleDataViewSet.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.get_queryset 5 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.list 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet._validate_sweep_mode_data 9 1 0 4 1 85%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet._update_scenario 17 1 0 6 1 91%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.partial_update 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.update 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.eligible_parameter_sweep_targets 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.parameter_sweep_preview 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py ScenarioViewSet.generate_parameter_sweep 8 2 0 4 2 67%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py OptimizationDegreesOfFreedomViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ScenarioViewSet.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/SolutionViewSet.py SolutionViewSet.get_queryset 4 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/SolutionViewSet.py SolutionViewSet.list 1 1 0 0 0 0%
backend/django/core/auxiliary/viewsets/SolutionViewSet.py (no function) 13 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/TaskViewSet.py TaskViewSet.get_queryset 5 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/TaskViewSet.py TaskViewSet.list 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/TaskViewSet.py TaskViewSet.get_task_children 6 1 0 2 1 75%
backend/django/core/auxiliary/viewsets/TaskViewSet.py TaskViewSet.handle_task_running_event 4 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/TaskViewSet.py TaskViewSet.handle_task_cancelled_event 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/TaskViewSet.py (no function) 35 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/__init__.py (no function) 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/compound_conversions.py compound_db_to_molar_flow 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/compound_conversions.py compound_db_to_mass_flow 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/compound_conversions.py update_fraction_display_values 17 17 0 6 0 0%
backend/django/core/auxiliary/viewsets/compound_conversions.py check_fully_defined 13 1 0 12 1 92%
backend/django/core/auxiliary/viewsets/compound_conversions.py serialize_to_current_mode 16 2 0 10 3 81%
backend/django/core/auxiliary/viewsets/compound_conversions.py serialize_to_current_mode.apply_display_value 6 1 0 6 1 83%
backend/django/core/auxiliary/viewsets/compound_conversions.py serialize_to_current_mode.iter_value_entries 7 3 0 6 1 54%
backend/django/core/auxiliary/viewsets/compound_conversions.py serialize_to_current_mode.convert_to_mass_flow 3 0 0 4 1 86%
backend/django/core/auxiliary/viewsets/compound_conversions.py serialize_to_current_mode.convert_to_mass_fraction 11 1 0 8 1 89%
backend/django/core/auxiliary/viewsets/compound_conversions.py convert_to_molar_fractions 11 1 0 4 2 80%
backend/django/core/auxiliary/viewsets/compound_conversions.py convert_to_molar_fractions.molar_flows_to_fractions 5 1 0 4 1 78%
backend/django/core/auxiliary/viewsets/compound_conversions.py convert_to_molar_fractions.mass_flows_to_molar_flows 4 0 0 4 0 100%
backend/django/core/auxiliary/viewsets/compound_conversions.py convert_to_raw_values 6 6 0 4 0 0%
backend/django/core/auxiliary/viewsets/compound_conversions.py stream_has_build_state_inputs 11 2 0 6 0 88%
backend/django/core/auxiliary/viewsets/compound_conversions.py (no function) 13 0 0 0 0 100%
backend/django/core/client.py FlowsheetClient.__init__ 4 0 0 0 0 100%
backend/django/core/client.py FlowsheetClient._add_flowsheet_query_param 5 0 0 0 0 100%
backend/django/core/client.py FlowsheetClient.get 2 0 0 0 0 100%
backend/django/core/client.py FlowsheetClient.post 4 0 0 2 0 100%
backend/django/core/client.py FlowsheetClient.patch 4 0 0 2 0 100%
backend/django/core/client.py FlowsheetClient.put 4 0 0 2 1 83%
backend/django/core/client.py FlowsheetClient.delete 4 1 0 2 1 67%
backend/django/core/client.py (no function) 14 0 0 0 0 100%
backend/django/core/exceptions.py DetailedException.__init__ 5 0 0 0 0 100%
backend/django/core/exceptions.py otel_trace_exception_handler 5 0 0 0 0 100%
backend/django/core/exceptions.py (no function) 7 0 0 0 0 100%
backend/django/core/management/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/managers.py get_flowsheet_access 13 0 0 4 0 100%
backend/django/core/managers.py has_flowsheet_read_access 1 0 0 0 0 100%
backend/django/core/managers.py has_flowsheet_write_access 1 0 0 0 0 100%
backend/django/core/managers.py _get_or_compute_access_state 9 0 0 4 0 100%
backend/django/core/managers.py AccessControlQuerySet._require_write_access 10 1 0 6 1 88%
backend/django/core/managers.py AccessControlQuerySet.update 2 0 0 0 0 100%
backend/django/core/managers.py AccessControlQuerySet.delete 2 0 0 0 0 100%
backend/django/core/managers.py AccessControlQuerySet.bulk_update 2 0 0 0 0 100%
backend/django/core/managers.py AccessControlManager.__init__ 2 0 0 0 0 100%
backend/django/core/managers.py AccessControlManager._require_write_access 7 2 0 6 2 69%
backend/django/core/managers.py AccessControlManager.create 8 0 0 2 0 100%
backend/django/core/managers.py AccessControlManager.bulk_create 9 0 0 4 0 100%
backend/django/core/managers.py AccessControlManager.get_queryset 16 1 0 8 1 92%
backend/django/core/managers.py SoftDeleteManager.__init__ 1 0 0 0 0 100%
backend/django/core/managers.py SoftDeleteManager.get_queryset 1 0 0 0 0 100%
backend/django/core/managers.py SoftDeleteManager.include_deleted 1 0 0 0 0 100%
backend/django/core/managers.py include_soft_deleted 3 0 0 2 0 100%
backend/django/core/managers.py (no function) 34 0 0 0 0 100%
backend/django/core/pagination.py ViewSetPagination.get_paginated_response 1 0 0 0 0 100%
backend/django/core/pagination.py (no function) 5 0 0 0 0 100%
backend/django/core/parsers/__init__.py (no function) 1 0 0 0 0 100%
backend/django/core/parsers/cloud_events_parser.py CloudEventsParser.parse 2 0 0 0 0 100%
backend/django/core/parsers/cloud_events_parser.py (no function) 4 0 0 0 0 100%
backend/django/core/plots/Plot.py (no function) 21 0 0 0 0 100%
backend/django/core/plots/PlotSerializer.py (no function) 22 0 0 0 0 100%
backend/django/core/plots/PlotViewSet.py PlotViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/plots/PlotViewSet.py PlotViewSet.list 1 1 0 0 0 0%
backend/django/core/plots/PlotViewSet.py SeriesViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/plots/PlotViewSet.py (no function) 12 0 0 0 0 100%
backend/django/core/plots/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/plots/plot_router.py (no function) 8 0 0 0 0 100%
backend/django/core/routers.py (no function) 55 0 0 0 0 100%
backend/django/core/testing/AhuoraServerTestCase.py ResusableLiveServerThread._create_server 1 0 0 0 0 100%
backend/django/core/testing/AhuoraServerTestCase.py AhuoraServerTestCase.assertJsonAlmostEqual 11 0 0 10 0 100%
backend/django/core/testing/AhuoraServerTestCase.py (no function) 10 0 0 0 0 100%
backend/django/core/testing/Assertions.py almost_equal 4 0 0 0 0 100%
backend/django/core/testing/Assertions.py remove_ids 9 0 0 8 0 100%
backend/django/core/testing/Assertions.py almost_equal_dicts 23 5 0 22 5 78%
backend/django/core/testing/Assertions.py compare_almost_equal_dicts 1 0 0 0 0 100%
backend/django/core/testing/Assertions.py subset_fields 1 0 0 0 0 100%
backend/django/core/testing/Assertions.py (no function) 6 0 0 0 0 100%
backend/django/core/testing/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/validation.py sanitize_flowsheet_id 9 0 0 4 0 100%
backend/django/core/validation.py api_view_validate 4 0 0 0 0 100%
backend/django/core/validation.py api_view_validate._wrapped_view 5 0 0 0 0 100%
backend/django/core/validation.py api_view_ignore_access_control 4 0 0 0 0 100%
backend/django/core/validation.py api_view_ignore_access_control._wrapped_view 1 0 0 0 0 100%
backend/django/core/validation.py flowsheet_context 8 2 0 0 0 75%
backend/django/core/validation.py get_current_flowsheet 1 0 0 0 0 100%
backend/django/core/validation.py cache_result 6 6 0 2 0 0%
backend/django/core/validation.py cache_access_result 9 1 0 6 3 73%
backend/django/core/validation.py bypass_write_access_checks 12 2 0 2 1 79%
backend/django/core/validation.py validate_router 11 3 0 10 3 71%
backend/django/core/validation.py validate_urlpatterns 4 1 0 4 1 75%
backend/django/core/validation.py extract_views_from_urlpatterns 9 3 0 6 1 60%
backend/django/core/validation.py validate_models 20 3 0 12 4 78%
backend/django/core/validation.py validate_routers 34 4 0 24 4 86%
backend/django/core/validation.py validate_routers.is_ignored 7 0 0 4 0 100%
backend/django/core/validation.py (no function) 35 0 0 0 0 100%
backend/django/core/viewset.py ContextMixin.initial 15 1 0 6 2 86%
backend/django/core/viewset.py ContextMixin.finalize_response 3 0 0 2 0 100%
backend/django/core/viewset.py ContextMixin.handle_exception 3 0 0 2 0 100%
backend/django/core/viewset.py (no function) 9 0 0 0 0 100%
backend/django/diagnostics/__init__.py (no function) 1 0 0 0 0 100%
backend/django/diagnostics/apps.py (no function) 4 0 0 0 0 100%
backend/django/diagnostics/methods/get_solver_rule_findings.py format_results 5 0 0 2 0 100%
backend/django/diagnostics/methods/get_solver_rule_findings.py get_object_rule_findings 2 0 0 0 0 100%
backend/django/diagnostics/methods/get_solver_rule_findings.py get_flowsheet_rule_findings 2 0 0 0 0 100%
backend/django/diagnostics/methods/get_solver_rule_findings.py (no function) 8 0 0 0 0 100%
backend/django/diagnostics/methods/update_diagnostic_result.py update_diagnostics_results 7 0 0 2 0 100%
backend/django/diagnostics/methods/update_diagnostic_result.py (no function) 4 0 0 0 0 100%
backend/django/diagnostics/models/DiagnosticsResult.py (no function) 16 0 0 0 0 100%
backend/django/diagnostics/rules/__init__.py (no function) 2 0 0 0 0 100%
backend/django/diagnostics/rules/engine.py RuleFinding.to_dict 1 0 0 0 0 100%
backend/django/diagnostics/rules/engine.py _rules_path 4 1 0 2 1 67%
backend/django/diagnostics/rules/engine.py load_decision_model 8 0 0 2 0 100%
backend/django/diagnostics/rules/engine.py _get_decision 10 0 0 6 2 88%
backend/django/diagnostics/rules/engine.py build_rule_context 1 0 0 0 0 100%
backend/django/diagnostics/rules/engine.py _format_description 4 2 0 0 0 50%
backend/django/diagnostics/rules/engine.py _normalise_findings 17 7 0 12 4 55%
backend/django/diagnostics/rules/engine.py evaluate_rules 9 0 0 2 0 100%
backend/django/diagnostics/rules/engine.py evaluate_property_rules 15 1 1 8 1 91%
backend/django/diagnostics/rules/engine.py (no function) 40 0 0 0 0 100%
backend/django/diagnostics/schemas.py (no function) 18 0 0 0 0 100%
backend/django/diagnostics/serializers.py (no function) 26 0 0 0 0 100%
backend/django/diagnostics/views.py _get_simulation_object_for_rules 3 0 0 0 0 100%
backend/django/diagnostics/views.py _get_simulation_objects_for_rules 2 0 0 0 0 100%
backend/django/diagnostics/views.py evaluate_object_property_rules 8 2 0 0 0 75%
backend/django/diagnostics/views.py evaluate_flowsheet_property_rules 16 5 0 4 1 70%
backend/django/diagnostics/views.py (no function) 24 0 0 0 0 100%
backend/django/flowsheetInternals/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/apps.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/formula_templates/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/formula_templates/add_template.py add_predefined_template 4 1 0 2 1 67%
backend/django/flowsheetInternals/formula_templates/add_template.py add_template 38 4 0 28 6 85%
backend/django/flowsheetInternals/formula_templates/add_template.py replace_with_ids 3 0 0 2 0 100%
backend/django/flowsheetInternals/formula_templates/add_template.py (no function) 11 0 0 0 0 100%
backend/django/flowsheetInternals/formula_templates/formula_templates.py (no function) 2 0 0 0 0 100%
backend/django/flowsheetInternals/formula_templates/template_schema.py (no function) 10 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/__init__.py (no function) 1 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/apps.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/logic/make_group.py make_group 57 3 0 36 4 92%
backend/django/flowsheetInternals/graphicData/logic/make_group.py propagate_streams 22 3 0 16 3 84%
backend/django/flowsheetInternals/graphicData/logic/make_group.py propagate_intermediate_streams 29 4 0 20 5 82%
backend/django/flowsheetInternals/graphicData/logic/make_group.py propagate_intermediate_streams.groups_to_add_intermediate 18 1 0 12 4 83%
backend/django/flowsheetInternals/graphicData/logic/make_group.py propagate_intermediate_streams.groups_to_add_intermediate.get_group_path 5 0 0 2 0 100%
backend/django/flowsheetInternals/graphicData/logic/make_group.py (no function) 13 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/logic/ungroup.py ungroup 19 2 0 10 1 90%
backend/django/flowsheetInternals/graphicData/logic/ungroup.py (no function) 8 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/graphicObjectModel.py GraphicObject.copy_position_from 7 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/graphicObjectModel.py (no function) 22 0 4 0 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.create 14 0 0 2 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_parent_group 2 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_connections 20 1 0 12 1 94%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_breadcrumbs_trail 8 0 0 2 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.update_internal_simulation_objects 2 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_graphic_object 1 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_simulation_objects 2 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.clear_group 3 3 0 0 0 0%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.set_group_size 16 1 0 4 1 90%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_recursive_simulation_objects 12 0 0 4 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_unconnected_streams 14 14 0 8 0 0%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.generate_name_prefix 8 8 0 2 0 0%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py (no function) 44 0 3 0 0 100%
backend/django/flowsheetInternals/graphicData/routers.py (no function) 9 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/serializers/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/serializers/graphicObjectSerializer.py GraphicObjectSerializer.get_is_flipped 8 2 0 4 0 83%
backend/django/flowsheetInternals/graphicData/serializers/graphicObjectSerializer.py (no function) 16 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/serializers/groupingSerializer.py GroupingSerializer.update 11 11 0 6 0 0%
backend/django/flowsheetInternals/graphicData/serializers/groupingSerializer.py GroupingSerializer.get_propertyInfoRelations 1 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/serializers/groupingSerializer.py (no function) 20 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/services/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _graphic_sort_key 1 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _get_recycle_tear_object_id 8 2 0 2 0 80%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _split_recycles 10 0 0 4 0 100%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _iter_connection_edges 7 0 0 8 1 93%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _build_graph 10 0 0 4 0 100%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _parse_plain_positions 8 0 0 4 0 100%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py _layout_graph 2 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py compute_auto_sort_positions 21 4 0 12 4 76%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py auto_sort 24 2 0 10 4 82%
backend/django/flowsheetInternals/graphicData/services/auto_sort.py (no function) 25 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GraphicObjectViewSet.py GraphicObjectViewSet.get_queryset 5 0 0 2 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GraphicObjectViewSet.py GraphicObjectViewSet.list 1 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GraphicObjectViewSet.py GraphicObjectViewSet.auto_sort 6 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GraphicObjectViewSet.py (no function) 36 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.get_queryset 5 0 0 2 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.list 1 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.create 7 7 0 2 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.create_custom_group 9 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.partial_update 42 42 0 16 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.destroy 3 3 0 0 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.make_group 10 3 0 0 0 70%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.move_selection 15 15 0 2 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.delete_selected_objects 9 2 0 0 0 78%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.ungroup 11 11 0 0 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.breadcrumbs 10 1 0 2 1 83%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.get_connections 8 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.zones 6 2 0 0 0 67%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py (no function) 66 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/__init__.py (no function) 1 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/apps.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/models/StreamFactory.py StreamFactory.__init__ 3 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/models/StreamFactory.py StreamFactory.check_and_update_stream 3 0 0 2 0 100%
backend/django/flowsheetInternals/propertyPackages/models/StreamFactory.py StreamFactory.swap_to_humid_air 3 0 0 4 1 86%
backend/django/flowsheetInternals/propertyPackages/models/StreamFactory.py StreamFactory.check_swap_back 3 0 0 4 0 100%
backend/django/flowsheetInternals/propertyPackages/models/StreamFactory.py swap_stream_to 10 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/models/StreamFactory.py (no function) 10 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/models/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/propertyPackages/routers.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/__init__.py (no function) 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/apps.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/__init__.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/config_base.py (no function) 7 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/config_methods.py get_object_schema 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/config_methods.py get_property_fields 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/config_methods.py get_connected_port_keys 4 1 0 4 1 75%
backend/django/flowsheetInternals/unitops/config/config_methods.py (no function) 6 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/__init__.py (no function) 67 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/ac_bus_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/ac_stream_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/boiler_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/bs_willans_config.py (no function) 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/bus_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/compound_seperator_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/compressor_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/convertor_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/cooler_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/crystallizer_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/cs_willans_config.py (no function) 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/custom_variable_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/d_tsat_willans_config.py (no function) 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/decision_node_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/deferrable_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/desuperheater_config.py (no function) 11 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/direct_steam_injection_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/energy_mixer_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/energy_splitter_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/energy_storage_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/energy_stream_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/generic_load_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/grid_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/group_config.py (no function) 7 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/header_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/heat_exchanger_1d_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/heat_exchanger_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/heat_pump_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/heat_user_config.py (no function) 17 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/heater_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/heatpump_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/humid_air_stream_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/hydro_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/integration_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/link_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/lumped_capacitance_hx_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py MLPropetiesAdapter.serialise 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py get_ml_properties 7 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py JSONModelAdapter.serialise 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py IDAdapter.serialise 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py get_id_mappings 14 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py unitopNamesAdapter.serialise 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py get_unitop_names 5 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py MLPortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py MLPortListAdapter.serialise 12 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/config/objects/machine_learning_block_config.py (no function) 18 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/mdb_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/mixer_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/ntu_heat_exchanger_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/phase_seperator_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/pid_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/pl_willans_config.py (no function) 12 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/plate_heat_exchanger_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/pressure_exchanger_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/pump_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/reactor_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/recycle_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/reverse_osmosis_0d_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/simple_header_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/solar_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/splitter_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/steam_user_config.py (no function) 14 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/stoich_hda_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/stream_config.py (no function) 8 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/config/objects/tank_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/transformer_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/transformer_stream_config.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/translator_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/transmission_line_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/turbine_config.py (no function) 11 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/valve_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/waterpipe_config.py (no function) 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/willans_turbine_config.py (no function) 11 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/objects/wind_config.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/reusable_config/turbine_ports_config.py (no function) 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/spec_helpers.py (no function) 13 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/logic/insert_translator_block.py insert_translator_block 21 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/logic/insert_translator_block.py (no function) 4 0 2 0 0 100%
backend/django/flowsheetInternals/unitops/methods/add_expression.py add_expression 6 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/methods/add_expression.py (no function) 6 0 3 0 0 100%
backend/django/flowsheetInternals/unitops/models/Port.py Port.default_stream_position 10 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/Port.py Port.default_stream_name 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/Port.py Port.reindex_port_on_delete 38 1 0 16 2 94%
backend/django/flowsheetInternals/unitops/models/Port.py (no function) 26 0 4 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.schema 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.has_recycle_connection 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.is_stream 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_stream 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_group 3 1 0 2 1 60%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_groups 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_parent_groups 9 1 0 4 1 85%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_property_package 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.set_property_package 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_port 5 2 0 0 0 60%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.reorder_object_ports 11 11 0 4 0 0%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.horizontally_center_graphic 13 4 0 4 1 71%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.vertically_center_graphic 10 10 0 2 0 0%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.split_stream 39 3 0 20 4 88%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.merge_parallel_streams 26 2 0 4 1 90%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.merge_stream 75 4 0 16 3 92%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.merge_stream.update_graphic_object_on_merge 21 0 0 14 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.merge_stream._collect_unique_groups 6 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.delete_control_values 5 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.attach_recycle 31 3 0 16 3 83%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.has_path_to 18 1 0 12 2 90%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.make_decision_node 32 0 0 4 1 97%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.update_compounds 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.add_port 47 0 0 22 2 97%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.update_height 21 0 0 16 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.update_stream_rotation 6 1 0 2 1 75%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_indexed_items 9 2 0 4 1 77%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.merge_decision_nodes 13 13 0 4 0 0%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.reevaluate_properties_enabled 16 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.reevaluate_properties_enabled._eval_enabled 8 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.get_unspecified_properties 30 1 0 22 1 96%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.delete 1 1 0 0 0 0%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.permanently_delete 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py SimulationObject.delete_empty_node 9 0 0 8 1 94%
backend/django/flowsheetInternals/unitops/models/SimulationObject.py (no function) 70 0 8 0 0 100%
backend/django/flowsheetInternals/unitops/models/__init__.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py update_compounds_on_set 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py update_compounds_on_add_stream 14 0 0 6 1 95%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py update_compounds_on_merge 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py _get_compound_keys 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py update_decision_node_and_propagate 7 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py run_for_stream 2 2 0 0 0 0%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py CompoundPropogation.__init__ 7 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py CompoundPropogation._update_compounds 22 1 0 12 1 94%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py CompoundPropogation._property_add_remove 27 0 0 16 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py CompoundPropogation.run 9 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py CompoundPropogation.run_for_stream 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py CompoundPropogation._handle_database_changes 7 2 0 4 1 73%
backend/django/flowsheetInternals/unitops/models/compound_propogation.py (no function) 23 0 3 0 0 100%
backend/django/flowsheetInternals/unitops/models/delete_factory.py DeleteFactory.__init__ 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/delete_factory.py DeleteFactory.delete_object 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/delete_factory.py DeleteFactory.delete_multiple_objects 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/delete_factory.py DeleteFactory.run_delete 52 4 0 40 4 91%
backend/django/flowsheetInternals/unitops/models/delete_factory.py DeleteFactory._restore_object_ids 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/delete_factory.py (no function) 16 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/flow_tracking.py track_stream_flow 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/flow_tracking.py track_downstream_stream_flow 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/flow_tracking.py _track_streams 26 0 0 18 0 100%
backend/django/flowsheetInternals/unitops/models/flow_tracking.py get_connected_ports 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/flow_tracking.py get_downstream_connected_ports 6 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/flow_tracking.py (no function) 9 0 3 0 0 100%
backend/django/flowsheetInternals/unitops/models/property_package_propogation.py propogate_property_package 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/property_package_propogation.py (no function) 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.__init__ 16 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_simulation_object 52 1 0 26 1 97%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_stream_at_port 14 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.default_stream_position 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.perform_bulk_create 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create 37 5 0 22 3 83%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.store_old_properties 7 0 0 4 1 91%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.replace_the_gut 11 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_property_set 11 0 0 6 1 94%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_property_infos 9 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_property_info 16 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.get_combinations 4 1 0 2 1 67%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.set_properties_access 31 3 0 26 4 88%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_indexed_items 14 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py (no function) 38 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py serialize_objects_for_table 22 0 0 12 0 100%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py get_stream_summary_table_data 6 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py get_unitops_summary_table_data 6 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py get_composition_summary_table_data 39 4 0 24 1 89%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py get_compounds 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py get_compound_mass_fractions 15 1 0 4 1 89%
backend/django/flowsheetInternals/unitops/models/summary_table_factory.py (no function) 30 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/routers.py (no function) 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/PortSerializer.py PortSerializer.update 21 0 0 16 0 100%
backend/django/flowsheetInternals/unitops/serializers/PortSerializer.py (no function) 11 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectSerializer.create 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectSerializer.save 8 0 0 4 1 92%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectSerializer.get_unspecifiedProperties 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectRetrieveSerializer.get_unspecifiedProperties 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py (no function) 30 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/__init__.py (no function) 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py Coords.__init__ 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py calc_centre_simulation_objects 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.build_copy_spec 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.duplicate 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.update_simulation_object_names 5 0 0 4 1 89%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.update_graphic_positions 6 0 0 4 1 90%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.update_grouping_property_infos 15 6 0 10 2 60%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.duplicate_control_values 14 1 0 8 1 91%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.duplicate_indexed_items 31 1 0 18 3 92%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py SimulationObjectDuplicator.apply_recycle_updates 6 1 0 6 1 83%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py DuplicateSimulationObject.handle_duplication_request 22 3 0 6 3 79%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py DuplicateSimulationObject._expand_object_ids 19 2 0 14 2 88%
backend/django/flowsheetInternals/unitops/viewsets/DuplicateSimulationObject.py (no function) 31 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.get_queryset 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.list 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.error_response 4 4 0 0 0 0%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.merge_streams 14 2 0 0 0 86%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.split_stream 9 2 0 0 0 78%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.add_stream 6 2 0 0 0 67%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.convert_to_dn 16 3 0 4 2 75%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.destroy 10 2 0 2 0 83%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.restore_connections 45 14 0 14 6 66%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py (no function) 52 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py RestoreObjectsSerializer.validate 3 1 0 2 1 60%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.get_queryset 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.get_serializer_class 3 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.list 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.destroy 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.tracked_stream_flow 7 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.get_summary_queryset 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.summary_table_streams 10 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.summary_table_unitops 10 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.summary_table_compounds 11 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.update_compounds 13 5 0 0 0 62%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.add_port 17 6 0 2 1 63%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.merge_decision_nodes 12 12 0 0 0 0%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.add_expression 5 1 0 2 1 71%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.add_custom_property_template 11 3 0 2 1 69%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.restore 13 4 0 4 2 65%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.duplicate_simulation_object 12 4 0 0 0 67%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.insert_translator_block 9 3 0 2 1 64%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py (no function) 93 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/__init__.py (no function) 0 0 0 0 0 100%
backend/django/idaes_factory/__init__.py (no function) 0 0 0 0 0 100%
backend/django/idaes_factory/adapters/__init__.py (no function) 0 0 0 0 0 100%
backend/django/idaes_factory/adapters/arc_adapter.py create_arc 8 0 0 4 0 100%
backend/django/idaes_factory/adapters/arc_adapter.py create_tear 6 0 0 4 0 100%
backend/django/idaes_factory/adapters/arc_adapter.py (no function) 9 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py ArgAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py ArgAdapter.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py DictArgAdapter.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py ConstantArg.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py ConstantArg.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py ConstantSchemaAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py ConstantSchemaAdapter.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/arg_adapter.py (no function) 13 0 0 0 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _get_serializable_numeric_property 8 0 0 6 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _get_single_property_value 5 2 0 2 1 57%
backend/django/idaes_factory/adapters/convert_expression.py _should_include_aggregate_value 7 1 0 6 1 85%
backend/django/idaes_factory/adapters/convert_expression.py _ensure_compatible_unit_type 5 0 0 4 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _get_scalar_aggregate_values 14 1 0 8 1 91%
backend/django/idaes_factory/adapters/convert_expression.py _pairwise_function 4 0 0 2 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _expand_aggregate 16 2 0 12 2 86%
backend/django/idaes_factory/adapters/convert_expression.py _expand_aggregates 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _mention_id 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _replace_property_mentions 2 0 0 0 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _replace_property_mentions.replacer 4 0 0 2 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _collect_property_mention_dependencies 6 0 0 4 0 100%
backend/django/idaes_factory/adapters/convert_expression.py _collect_aggregate_dependencies 7 1 0 6 1 85%
backend/django/idaes_factory/adapters/convert_expression.py convert_expression 4 1 0 2 1 67%
backend/django/idaes_factory/adapters/convert_expression.py get_expression_dependencies 8 1 0 4 1 83%
backend/django/idaes_factory/adapters/convert_expression.py (no function) 22 0 5 0 0 100%
backend/django/idaes_factory/adapters/core_adapters.py (no function) 5 0 0 0 0 100%
backend/django/idaes_factory/adapters/dynamic_adapter.py DynamicAdapter.serialise 5 0 0 2 0 100%
backend/django/idaes_factory/adapters/dynamic_adapter.py (no function) 6 0 0 0 0 100%
backend/django/idaes_factory/adapters/enum_adapter.py EnumAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/enum_adapter.py EnumAdapter.serialise 3 0 0 0 0 100%
backend/django/idaes_factory/adapters/enum_adapter.py (no function) 6 0 0 0 0 100%
backend/django/idaes_factory/adapters/generic_adapters.py PortCountAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/generic_adapters.py PortCountAdapter.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/generic_adapters.py NumInletsAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/generic_adapters.py NumOutletsAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/generic_adapters.py (no function) 10 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py PortAdapter.__init__ 2 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py PortAdapter.serialise 12 2 0 6 1 72%
backend/django/idaes_factory/adapters/port_adapter.py PortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py PortListAdapter.serialise 6 0 0 4 0 100%
backend/django/idaes_factory/adapters/port_adapter.py serialise_port_with_stream 7 1 0 4 1 82%
backend/django/idaes_factory/adapters/port_adapter.py is_connected 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py FixedPortMapping.serialise 14 2 0 8 2 82%
backend/django/idaes_factory/adapters/port_adapter.py PortGroupMapping.get_ports 8 0 0 6 0 100%
backend/django/idaes_factory/adapters/port_adapter.py PortGroupMapping.serialise 4 0 0 2 0 100%
backend/django/idaes_factory/adapters/port_adapter.py SchemaPortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py SchemaPortListAdapter.serialise 4 0 0 2 0 100%
backend/django/idaes_factory/adapters/port_adapter.py SerialisePortAdapter.serialise 4 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py SerialisePortAdapter.serialise.isinlet 4 0 0 2 0 100%
backend/django/idaes_factory/adapters/port_adapter.py MixerPortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py SplitterPortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py BusPortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/port_adapter.py (no function) 44 0 0 0 0 100%
backend/django/idaes_factory/adapters/property_info_adapter.py serialise_property_info 38 0 0 22 0 100%
backend/django/idaes_factory/adapters/property_info_adapter.py ValueAdapter.serialise 1 1 0 0 0 0%
backend/django/idaes_factory/adapters/property_info_adapter.py SerialisePropertiesAdapter.serialise 10 0 0 6 0 100%
backend/django/idaes_factory/adapters/property_info_adapter.py (no function) 13 0 3 0 0 100%
backend/django/idaes_factory/adapters/property_package_adapter.py PropertyPackageAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/property_package_adapter.py PropertyPackageAdapter.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/property_package_adapter.py PropertyPackageAdapter.get_property_package_id 30 4 0 22 3 83%
backend/django/idaes_factory/adapters/property_package_adapter.py serialise_custom_package 6 1 0 2 1 75%
backend/django/idaes_factory/adapters/property_package_adapter.py serialise_custom_package_properties 7 1 0 4 1 82%
backend/django/idaes_factory/adapters/property_package_adapter.py serialise_custom_kappa_values 11 0 0 4 1 93%
backend/django/idaes_factory/adapters/property_package_adapter.py serialise_custom_compound_properties 13 1 0 6 1 89%
backend/django/idaes_factory/adapters/property_package_adapter.py (no function) 18 0 3 0 0 100%
backend/django/idaes_factory/adapters/property_value_adapter.py _PropertyInfoNotSetException.__init__ 3 3 0 2 0 0%
backend/django/idaes_factory/adapters/property_value_adapter.py check_fixed 12 1 0 8 1 90%
backend/django/idaes_factory/adapters/property_value_adapter.py get_data_column_id 6 1 0 4 1 80%
backend/django/idaes_factory/adapters/property_value_adapter.py get_solve_index_data_cell_value 4 0 0 2 0 100%
backend/django/idaes_factory/adapters/property_value_adapter.py get_dynamic_data_cell_values 4 2 0 2 1 50%
backend/django/idaes_factory/adapters/property_value_adapter.py serialise_property_value 33 6 0 28 6 80%
backend/django/idaes_factory/adapters/property_value_adapter.py (no function) 10 0 0 0 0 100%
backend/django/idaes_factory/adapters/serialisation_rules.py is_group_enabled 10 1 0 6 1 88%
backend/django/idaes_factory/adapters/serialisation_rules.py (no function) 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/stream_properties.py should_serialise_stream 5 0 0 4 0 100%
backend/django/idaes_factory/adapters/stream_properties.py serialise_stream 12 0 0 10 0 100%
backend/django/idaes_factory/adapters/stream_properties.py (no function) 7 0 0 0 0 100%
backend/django/idaes_factory/adapters/toggle_adapter.py ToggleAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/toggle_adapter.py ToggleAdapter.serialise 3 0 0 0 0 100%
backend/django/idaes_factory/adapters/toggle_adapter.py (no function) 7 0 0 0 0 100%
backend/django/idaes_factory/adapters/unit_model_adapter.py _SectionAdapter.serialise 0 0 1 0 0 100%
backend/django/idaes_factory/adapters/unit_model_adapter.py UnitModelAdapter.__init__ 3 0 0 0 0 100%
backend/django/idaes_factory/adapters/unit_model_adapter.py UnitModelAdapter.serialise 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/unit_model_adapter.py (no function) 10 0 5 0 0 100%
backend/django/idaes_factory/build_hooks.py run_before_context_load_hooks 2 0 0 0 0 100%
backend/django/idaes_factory/build_hooks.py (no function) 10 0 3 0 0 100%
backend/django/idaes_factory/endpoints.py _resolve_solve_timeout_seconds 3 0 0 2 0 100%
backend/django/idaes_factory/endpoints.py IdaesServiceRequestException.__init__ 2 2 0 0 0 0%
backend/django/idaes_factory/endpoints.py idaes_service_request 5 5 0 2 0 0%
backend/django/idaes_factory/endpoints.py _solve_flowsheet_request 6 2 0 0 0 67%
backend/django/idaes_factory/endpoints.py _mark_task_dispatched_to_idaes 2 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py start_flowsheet_solve_event 21 1 0 4 1 92%
backend/django/idaes_factory/endpoints.py start_multi_steady_state_solve_event 15 3 0 2 1 76%
backend/django/idaes_factory/endpoints.py dispatch_multi_solves 26 7 0 8 0 74%
backend/django/idaes_factory/endpoints.py start_ml_training_event 13 0 0 2 1 93%
backend/django/idaes_factory/endpoints.py _send_task_notifications 11 0 0 6 0 100%
backend/django/idaes_factory/endpoints.py _send_task_cancelled_notification 1 1 0 0 0 0%
backend/django/idaes_factory/endpoints.py process_idaes_solve_response 39 5 0 18 3 86%
backend/django/idaes_factory/endpoints.py mark_parent_cancelled 18 3 0 4 0 86%
backend/django/idaes_factory/endpoints.py process_failed_idaes_solve_response 31 12 0 12 6 58%
backend/django/idaes_factory/endpoints.py process_ml_training_response 28 5 0 12 4 78%
backend/django/idaes_factory/endpoints.py cancel_idaes_solve 29 0 0 8 0 100%
backend/django/idaes_factory/endpoints.py process_cancel_solve_response 27 3 0 10 1 89%
backend/django/idaes_factory/endpoints.py process_build_state_response 14 0 0 8 0 100%
backend/django/idaes_factory/endpoints.py _settle_build_state_task_from_completion 24 3 0 8 3 81%
backend/django/idaes_factory/endpoints.py _is_current_build_state_response 1 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py _is_current_build_state_context 9 3 0 2 0 73%
backend/django/idaes_factory/endpoints.py _send_build_state_completion_notification 5 1 0 2 1 71%
backend/django/idaes_factory/endpoints.py process_build_state_request_dead_letter 10 1 0 6 1 88%
backend/django/idaes_factory/endpoints.py _settle_build_state_task_from_delivery_failure 17 1 0 4 2 86%
backend/django/idaes_factory/endpoints.py _send_build_state_delivery_failure_notification 2 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py generate_IDAES_python_request 12 4 0 0 0 67%
backend/django/idaes_factory/endpoints.py _next_build_state_request_version 4 2 0 0 0 50%
backend/django/idaes_factory/endpoints.py _next_build_state_request_version_locked 5 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py state_request_build 10 0 0 4 0 100%
backend/django/idaes_factory/endpoints.py _create_build_state_task 4 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py _revert_build_state_task_values 7 0 0 4 0 100%
backend/django/idaes_factory/endpoints.py _fail_build_state_task_before_dispatch 3 3 0 0 0 0%
backend/django/idaes_factory/endpoints.py _mark_build_state_task_dispatched 2 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py build_state_request 9 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py (no function) 91 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.__init__ 16 0 0 4 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory._run_before_context_load_hooks_once 7 1 0 4 1 82%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.use_with_solve_index 2 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.build 9 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.clear_flowsheet 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.add_property_packages 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.setup_unit_models 3 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.add_ml_model_properties 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.add_unit_model 11 3 0 6 1 76%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.add_expressions 15 1 0 12 1 93%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.add_managed_expressions 12 1 0 8 1 90%
backend/django/idaes_factory/idaes_factory.py IdaesFactory._add_expression 3 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory._active_flowsheet 3 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.add_optimizations 18 2 0 8 2 85%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.check_dependencies 8 0 0 6 0 100%
backend/django/idaes_factory/idaes_factory.py IdaesFactory.create_arcs 5 0 0 4 0 100%
backend/django/idaes_factory/idaes_factory.py store_properties_schema 47 1 0 16 1 97%
backend/django/idaes_factory/idaes_factory.py save_all_initial_values 8 0 0 4 0 100%
backend/django/idaes_factory/idaes_factory.py (no function) 57 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.__init__ 17 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.load 5 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.iter_loaded_property_infos 5 1 0 4 1 78%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.has_loaded_managed_properties 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.get_data_column_id 5 0 0 4 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.get_solve_index_data_cell_value 5 1 0 4 1 78%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.get_dynamic_data_cell_values 8 1 0 6 1 86%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.track_property_value 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext._add_dependency 3 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.add_property_value_dependency 6 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.add_expression_dependency 6 0 0 4 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.is_dynamic 3 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.update_solve_index 5 0 0 2 1 86%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.get_simulation_object 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.filter_object_type 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.exclude_object_type 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.get_property 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.get_property_value 1 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py (no function) 39 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py get_simulation_object 4 1 0 2 1 67%
backend/django/idaes_factory/queryset_lookup.py filter_simulation_objects 1 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py exclude_simulation_objects 1 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py get_port 5 0 0 2 0 100%
backend/django/idaes_factory/queryset_lookup.py get_connected_port 2 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py get_active_ports_for_direction 2 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py get_all_ports 1 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py get_property 5 1 0 2 1 71%
backend/django/idaes_factory/queryset_lookup.py get_value_object 3 0 0 0 0 100%
backend/django/idaes_factory/queryset_lookup.py get_index 4 1 0 2 1 67%
backend/django/idaes_factory/queryset_lookup.py (no function) 14 0 7 0 0 100%
backend/django/idaes_factory/unit_conversion/__init__.py (no function) 1 0 0 0 0 100%
backend/django/idaes_factory/unit_conversion/unit_conversion.py get_unit 6 1 0 4 1 80%
backend/django/idaes_factory/unit_conversion/unit_conversion.py convert_value 14 3 0 6 1 80%
backend/django/idaes_factory/unit_conversion/unit_conversion.py is_offset_unit 2 0 0 0 0 100%
backend/django/idaes_factory/unit_conversion/unit_conversion.py can_convert 9 1 0 6 1 87%
backend/django/idaes_factory/unit_conversion/unit_conversion.py subtract_fraction 3 3 0 0 0 0%
backend/django/idaes_factory/unit_conversion/unit_conversion.py (no function) 17 0 0 4 0 100%
backend/django/manage.py main 6 2 0 0 0 67%
backend/django/manage.py (no function) 5 0 0 2 1 86%
backend/django/migration_helper/check_existing_migrations_unchanged.py git 5 2 0 2 1 57%
backend/django/migration_helper/check_existing_migrations_unchanged.py is_migration_file 2 0 0 0 0 100%
backend/django/migration_helper/check_existing_migrations_unchanged.py get_latest_reachable_tag 3 0 0 0 0 100%
backend/django/migration_helper/check_existing_migrations_unchanged.py get_migration_files_at_ref 1 0 0 0 0 100%
backend/django/migration_helper/check_existing_migrations_unchanged.py get_changed_paths 14 3 0 8 2 77%
backend/django/migration_helper/check_existing_migrations_unchanged.py main 13 2 0 6 1 84%
backend/django/migration_helper/check_existing_migrations_unchanged.py (no function) 13 0 0 2 1 93%
backend/django/migration_helper/get_flowsheet_related_objects.py get_many 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py get_one_one 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.__init__ 2 2 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.get_related_objects 45 45 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPlot 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getSeries 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getIndexedItem 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getSolutions 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getControlValue 5 5 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPropertyValue 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getHistoricalValue 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getProcessPathProperty 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPropertyInfo 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPropertySet 8 8 0 4 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getRecycleData 5 5 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getRecycleProperty 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getObjectUnits 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getNote 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getExpression 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getProcessPath 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getMLColumnMapping 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getMLModel 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getOptimization 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getOptimizationDegreesOfFreedom 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getSolveState 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getSolveValue 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getFormulaVars 5 5 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPort 8 8 0 6 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getSimulationObject 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getGraphicObject 6 6 0 4 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getGrouping 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getSimulationObjectPropertyPackages 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchOutputs 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchTemp 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getTargetSummary 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getHeatSupplierUtilitySummary 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getHeatReceiverUtilitySummary 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchGraphSet 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchGraph 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchCurve 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getGraphDataPoint 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchInputs 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchStream 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchUtility 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getTurbineOptions 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getGraphOptions 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getMainOptions 4 4 0 2 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py GetObjectFunctions.getPinchProject 1 1 0 0 0 0%
backend/django/migration_helper/get_flowsheet_related_objects.py (no function) 94 0 0 0 0 100%
backend/django/notifications/__init__.py (no function) 0 0 0 0 0 100%
backend/django/notifications/consumers/NotificationsConsumer.py _get_user 2 0 0 0 0 100%
backend/django/notifications/consumers/NotificationsConsumer.py _get_flowsheet_access_entry_for_user 1 0 0 0 0 100%
backend/django/notifications/consumers/NotificationsConsumer.py NotificationsConsumer.__init__ 3 0 0 0 0 100%
backend/django/notifications/consumers/NotificationsConsumer.py NotificationsConsumer.connect 16 4 0 6 2 73%
backend/django/notifications/consumers/NotificationsConsumer.py NotificationsConsumer.receive 2 0 0 2 1 75%
backend/django/notifications/consumers/NotificationsConsumer.py NotificationsConsumer.disconnect 2 0 0 2 1 75%
backend/django/notifications/consumers/NotificationsConsumer.py NotificationsConsumer.flowsheet_message 1 0 0 0 0 100%
backend/django/notifications/consumers/NotificationsConsumer.py (no function) 13 0 0 0 0 100%
backend/django/notifications/consumers/__init__.py (no function) 1 0 0 0 0 100%
backend/django/notifications/views/__init__.py (no function) 0 0 0 0 0 100%
backend/django/notifications/views/broadcast_view.py broadcast_message_to_user 8 0 0 2 0 100%
backend/django/notifications/views/broadcast_view.py (no function) 14 0 0 0 0 100%
backend/django/pgraph_factory/__init__.py (no function) 0 0 0 0 0 100%
backend/django/pgraph_factory/pg_sheet.py PgProcess.__init__ 8 0 0 2 0 100%
backend/django/pgraph_factory/pg_sheet.py PgProcess.add_connections 7 0 0 4 0 100%
backend/django/pgraph_factory/pg_sheet.py PgProcess.add_block 2 0 0 0 0 100%
backend/django/pgraph_factory/pg_sheet.py PgProcess.solve 6 6 0 2 0 0%
backend/django/pgraph_factory/pg_sheet.py PgProcess.create_process_paths 3 3 0 2 0 0%
backend/django/pgraph_factory/pg_sheet.py (no function) 13 0 0 0 0 100%
backend/django/pgraph_factory/test/__init__.py (no function) 0 0 0 0 0 100%
backend/django/pgraph_factory/types.py (no function) 10 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.__init__ 4 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.build_calculate_request 13 0 0 8 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.build_zone_structure 28 5 0 18 3 78%
backend/django/pinch_factory/pinch_factory.py PinchFactory.build_zone_structure.clean_node 1 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.build_linearize_request 1 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.build_t_h_request 1 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.clear_outputs 3 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.run_calculate 13 5 0 2 1 60%
backend/django/pinch_factory/pinch_factory.py PinchFactory.run_linearize 12 5 0 2 1 57%
backend/django/pinch_factory/pinch_factory.py PinchFactory.serialize_return_data 46 2 0 18 2 94%
backend/django/pinch_factory/pinch_factory.py PinchFactory.get_linear_streams 1 0 0 0 0 100%
backend/django/pinch_factory/pinch_factory.py PinchFactory.run_get_t_h_data 12 5 0 2 1 57%
backend/django/pinch_factory/pinch_factory.py (no function) 24 0 0 0 0 100%
Total   23821 2687 90 5746 996 86%

No items found using the specified filter.