Coverage report: 84%

Files Functions Classes

coverage.py v7.10.7, created at 2026-07-22 05:22 +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) 34 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-builder-types/src/ahuora_builder_types/units.py project_unit_definitions 2 0 0 0 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/units.py register_project_units 2 0 0 2 0 100%
backend/ahuora-builder-types/src/ahuora_builder_types/units.py (no function) 6 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 solve_square_subsets 7 7 0 0 0 0%
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 8 8 0 6 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.initialize 6 6 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py FlexibleStateBlock.release_state 8 8 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_release_state 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/base/flexible_state_block.py (no function) 31 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/build_package.py build_package 26 13 0 24 8 50%
backend/ahuora-compounds/ahuora_property_packages/build_package.py (no function) 10 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/combustion/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_builder.py build_biomass_and_flue_package 4 4 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_builder.py build_biomass_combustion_reaction_package 4 4 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_builder.py (no function) 6 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_comb_pp.py (no function) 10 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py BMCombReactionParameterData.build 13 13 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py BMCombReactionParameterData.build.dh_rxn 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py BMCombReactionParameterData.define_metadata 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py ReactionBlock.initialize 2 2 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py BMReactionBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py BMReactionBlockData.get_reaction_rate_basis 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/combustion/biomass_combustion_rp.py (no function) 17 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/component_metadata.py _molecular_weights_for_package 16 2 0 8 2 83%
backend/ahuora-compounds/ahuora_property_packages/component_metadata.py get_component_molecular_weight 5 2 0 0 0 60%
backend/ahuora-compounds/ahuora_property_packages/component_metadata.py (no function) 6 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 HelmholtzExtendedStateBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/helmholtz/helmholtz_extended.py HelmholtzExtendedStateBlockData.constrain_component 9 9 0 4 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) 15 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/humid_air/HumidAirSurrogate.py _StateBlock.initialize 31 31 0 24 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py _StateBlock.release_state 12 12 0 14 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py _StateBlockWrapper.initialize 4 4 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py _StateBlockWrapper.release_state 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.build 5 5 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.constrain_component 11 11 0 6 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._make_state_vars 15 15 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._vol_mass 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._vol_mass._vol_mass_rule 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._enth_mass 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._enth_mass.enth_mass_rule 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._enth_mass_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._enth_mass_comp._rule_enth_mass_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._enth_mol_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._enth_mol_comp._rule_enth_mol_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._entr_mass 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._entr_mass.entr_mass_rule 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._entr_mass_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._entr_mass_comp._rule_entr_mass_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._entr_mol_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._entr_mol_comp._rule_entr_mol_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_mass 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_mass.flow_mass_rule 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_mass_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_mass_comp._rule_flow_mass_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_mol_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_mol_comp._rule_flow_mol_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_vol 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._flow_vol._rule_flow_vol 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._mass_frac_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._mass_frac_comp._mass_frac_comp_rule 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._total_energy_flow 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData._total_energy_flow._rule_total_energy_flow 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.get_material_flow_terms 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.get_enthalpy_flow_terms 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.default_material_balance_type 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.default_energy_balance_type 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.define_state_vars 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py HAirStateBlockData.model_check 8 8 0 8 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py PhysicalParameterData.build 7 7 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py PhysicalParameterData.define_metadata 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/HumidAirSurrogate.py (no function) 48 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/humid_air/__init__.py (no function) 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/humid_air/humid_air_builder.py build_humid_air_package 6 6 0 6 0 0%
backend/ahuora-compounds/ahuora_property_packages/humid_air/humid_air_builder.py (no function) 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/milk/__init__.py (no function) 1 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/milk/milk_builder.py build_milk_package 6 2 0 6 2 67%
backend/ahuora-compounds/ahuora_property_packages/milk/milk_builder.py (no function) 4 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/milk/milk_modular.py (no function) 12 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_base_units 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_bubble_dew_method 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_components 6 6 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_components._serialise_component 53 53 0 28 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_components._valid_phases 5 5 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_phase_equilibrium_state 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_phases 7 7 0 6 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_phases_in_equilibrium 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_pressure_ref 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_state_bounds 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_state_definition 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_temperature_ref 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py build_pr_kappa 22 22 0 10 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/common_parsers.py (no function) 26 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/coolprop_parsers.py build_coolprop_components 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/coolprop_parsers.py (no function) 7 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.cp_mol_ig_comp.build_parameters 10 10 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.cp_mol_ig_comp.return_expression 4 4 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.enth_mol_ig_comp.build_parameters 6 6 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.enth_mol_ig_comp.return_expression 6 6 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.entr_mol_ig_comp.build_parameters 5 5 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.entr_mol_ig_comp.return_expression 5 5 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.pressure_sat_comp.build_parameters 6 6 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.pressure_sat_comp.return_expression 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.cp_mol_liq_comp.build_parameters 10 10 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.cp_mol_liq_comp.return_expression 4 4 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.enth_mol_liq_comp.build_parameters 6 6 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.enth_mol_liq_comp.return_expression 6 6 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.enth_mol_liq_comp.return_expression.integrand 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.entr_mol_liq_comp.build_parameters 5 5 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.entr_mol_liq_comp.return_expression 6 6 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.entr_mol_liq_comp.return_expression.integrand 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.dens_mol_liq_comp.build_parameters 10 10 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py ChemSep.dens_mol_liq_comp.return_expression 4 4 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/builder/data/chem_sep.py (no function) 45 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/modular_extended.py GenericExtendedStateBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/modular_extended.py GenericExtendedStateBlockData.add_extra_expressions 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/modular_extended.py GenericExtendedStateBlockData.add_extra_expressions.rule_vapor_frac 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/modular_extended.py GenericExtendedParameterData.build 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/modular_extended.py (no function) 15 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/template_builder.py build_peng_robinson 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/template_builder.py build_coolprop 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/template_builder.py (no function) 8 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/templates/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/modular/templates/pengrobinson.py build_pr_configuration 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/templates/pengrobinson.py build_coolprop_configuration 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/modular/templates/pengrobinson.py (no function) 7 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterParameterData.build 32 32 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterParameterData.define_metadata 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py _SaltWaterStateBlock.fix_initialization_states 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py _SaltWaterStateBlock.initialize 7 7 0 6 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py _SaltWaterStateBlock.release_state 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.build 4 4 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_state_vars 4 4 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_extra_vars 17 17 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_extra_vars.eq_mole_frac_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_extra_vars.total_molar_flow_definition 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_extra_vars.rule_vapor_frac 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_extra_vars.total_mass_flow_definition 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_extra_vars.rule_flow_vol 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._flow_mass_phase 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._flow_mass_phase.rule_flow_mass_phase 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._flow_mol_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._flow_mol_phase_comp.rule_flow_mol_phase_comp 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._flow_mol_phase 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._flow_mol_phase.rule_flow_mol_phase 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._mass_frac_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._mass_frac_phase_comp.rule_mass_frac_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._mole_frac_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._mole_frac_phase_comp.rule_mole_frac_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._enth_mass_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._enth_mass_phase_comp.rule_enth_mass_phase_comp 10 10 0 8 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._enth_flow_phase 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._enth_flow_phase.rule_enth_flow_phase 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._enth_mass_phase 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._enth_mass_phase.rule_enth_mass_phase 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._pressure_sat_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._pressure_sat_comp.rule_pressure_sat_comp 5 5 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._activity_coeff_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._activity_coeff_phase_comp.rule_activity_coeff_phase_comp 5 5 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._modified_raoult_pressure_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._modified_raoult_pressure_comp.rule_modified_raoult_pressure_comp 5 5 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._vle_residual_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._vle_residual_comp.rule_vle_residual_comp 6 6 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._solubility_mass_frac_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._solubility_mass_frac_phase_comp.rule_solubility_mass_frac_phase_comp 4 4 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._saturation_index_phase_comp 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._saturation_index_phase_comp.rule_saturation_index_phase_comp 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._dens_mass_phase 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._dens_mass_phase.rule_dens_mass_phase 5 5 0 4 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations 35 35 0 18 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_phase_presence 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_water_phase_presence 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_eq_pressure_slack 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_eq_solubility_slack 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_vle_complementarity 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_vle_vap_complementarity 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._make_phase_split_equations.rule_sle_complementarity 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData._set_sensible_initial_guesses 64 64 2 20 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.get_material_flow_terms 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.get_enthalpy_flow_terms 3 3 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.default_material_balance_type 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.default_energy_balance_type 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.get_material_flow_basis 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.define_state_vars 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py SaltWaterStateBlockData.calculate_scaling_factors 27 27 0 28 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/salt_water_property_package_VLE_V2.py (no function) 53 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/saltwater/saltwater_extended.py SaltwaterExtendedStateBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/saltwater_extended.py SaltwaterExtendedStateBlockData.add_extra_expressions 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/saltwater_extended.py SaltwaterExtendedParameterBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/saltwater/saltwater_extended.py (no function) 14 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/seawater/__init__.py (no function) 0 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_builder.py build_seawater_package 4 1 0 2 1 67%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_builder.py (no function) 4 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData.build 2 2 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData.add_extra_expressions 3 3 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._enth_mass 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._enth_mol 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._entr_mass 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._entr_mol 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._flow_mass 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._flow_mol 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._mole_frac_comp 5 5 0 2 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._mole_frac_comp.mole_frac_comp_rule 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._vapor_frac 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedStateBlockData._total_energy_flow 1 1 0 0 0 0%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedParameterBlockData.define_metadata 3 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py SeawaterExtendedParameterBlockData.build 2 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/seawater/seawater_extended.py (no function) 27 0 0 0 0 100%
backend/ahuora-compounds/ahuora_property_packages/types.py (no function) 3 0 0 0 0 100%
backend/ahuora-unit-ops/src/ahuora_unit_ops/__init__.py (no function) 3 0 0 0 0 100%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py JsonGraphicObjectConfig._validate_kind_fields 9 3 0 6 2 67%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py JsonAdapterArgConfig._validate_kind_fields 10 4 0 4 2 57%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py JsonSchemaPortMappingConfig._validate_mapping_type 5 2 0 4 2 56%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py JsonPortAdapterConfig._validate_kind_fields 10 4 0 4 2 57%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py config_filename_from_unit_key 4 4 0 2 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py render_unit_op_config_json 2 2 0 0 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py load_unit_op_config_model 1 1 0 0 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py _json_field_names 2 0 0 0 0 100%
backend/ahuora-unit-ops/src/ahuora_unit_ops/json_config.py (no function) 124 0 0 0 0 100%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py import_object 5 5 0 2 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py get_wrapper_metadata 8 8 0 6 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py registration_constructor_path 9 9 0 6 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py constructor_path_from_class 1 1 0 0 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py _matching_data_class_for_wrapper 14 14 0 12 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py django_config_output_path_from_unit_key 2 2 0 0 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py discover_wrapper_metadata 17 17 0 10 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py discover_wrapper_metadata.add_registration 11 11 0 6 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py find_registration_by_key 6 6 0 0 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py validate_variant_families 11 11 0 8 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py _read_ahuora_metadata 4 4 0 2 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py _registrations_from_metadata 20 20 0 12 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py _resolve_registration_constructor 6 6 0 4 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py _iter_imported_custom_modules 6 6 0 4 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py _registration_source 6 6 0 4 0 0%
backend/ahuora-unit-ops/src/ahuora_unit_ops/wrapper_metadata.py (no function) 32 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 1 0 0 0 0%
backend/common/src/common/config_utils.py default_ports 1 1 0 0 0 0%
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) 64 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) 116 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 PeakDemandScheduleError.__init__ 2 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 12 0 0 6 0 100%
backend/django/Economics/costing/capital/electrical_upgrade.py unit_work_peak_demand_kw 20 0 0 12 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 19 2 0 10 2 86%
backend/django/Economics/costing/capital/electrical_upgrade.py _scheduled_work_property_peak_kw 20 2 0 16 2 89%
backend/django/Economics/costing/capital/electrical_upgrade.py _included_peak_demand_blocked_reason 7 0 0 4 0 100%
backend/django/Economics/costing/capital/electrical_upgrade.py (no function) 40 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py sync_generated_capital_lines 18 0 0 6 0 100%
backend/django/Economics/costing/capital/generated_lines.py sync_generated_capital_lines_for_mappings 15 1 0 6 1 90%
backend/django/Economics/costing/capital/generated_lines.py _generated_line_mapping_queryset 3 0 0 0 0 100%
backend/django/Economics/costing/capital/generated_lines.py _sync_generated_capital_line 36 3 0 18 2 91%
backend/django/Economics/costing/capital/generated_lines.py _bulk_update_generated_lines 3 0 0 2 0 100%
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 49 1 0 10 2 95%
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 31 4 0 18 5 82%
backend/django/Economics/costing/capital/generated_lines.py _prime_schedule_resolution_cache 32 1 0 22 2 94%
backend/django/Economics/costing/capital/generated_lines.py spec_property_info 14 4 0 4 1 72%
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 0 0 2 0 100%
backend/django/Economics/costing/capital/generated_lines.py (no function) 53 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 11 2 0 8 3 74%
backend/django/Economics/costing/capital/lang_factors.py _global_default 9 5 0 6 2 40%
backend/django/Economics/costing/capital/lang_factors.py _fallback_global_default 1 1 0 0 0 0%
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) 22 0 0 0 0 100%
backend/django/Economics/costing/capital/schedule_sizing.py resolve_schedule_driver_input 17 1 0 8 1 92%
backend/django/Economics/costing/capital/schedule_sizing.py _aggregate_schedule_values 9 3 0 6 1 60%
backend/django/Economics/costing/capital/schedule_sizing.py _weighted_mean 5 1 0 2 1 71%
backend/django/Economics/costing/capital/schedule_sizing.py _weighted_percentile 11 11 0 6 0 0%
backend/django/Economics/costing/capital/schedule_sizing.py _convert_schedule_value 6 4 0 2 1 38%
backend/django/Economics/costing/capital/schedule_sizing.py _decimal_text 4 1 0 2 1 67%
backend/django/Economics/costing/capital/schedule_sizing.py (no function) 26 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 54 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 27 9 0 16 5 63%
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 17 5 0 6 2 70%
backend/django/Economics/costing/capital/serializers.py _validate_schedule_aggregate_property 4 4 0 4 0 0%
backend/django/Economics/costing/capital/serializers.py (no function) 32 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) 14 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 23 3 0 16 4 82%
backend/django/Economics/costing/cost_curves/catalog.py _user_template_option 1 0 0 0 0 100%
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) 63 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 48 0 0 22 3 96%
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 2 0 8 2 79%
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 5 0 16 5 73%
backend/django/Economics/costing/cost_curves/driver_properties.py apply_bulk_driver_inputs 28 5 0 16 4 80%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_inputs_payload_for_results 16 3 0 8 1 83%
backend/django/Economics/costing/cost_curves/driver_properties.py _blank_driver_input 1 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/driver_properties.py _default_bulk_driver_input_mode 7 3 0 6 1 54%
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 11 1 0 8 1 89%
backend/django/Economics/costing/cost_curves/driver_properties.py _generated_line_for_mapping 1 1 0 0 0 0%
backend/django/Economics/costing/cost_curves/driver_properties.py _generated_line_driver_inputs 8 3 0 4 1 67%
backend/django/Economics/costing/cost_curves/driver_properties.py _driver_input_has_value 8 6 0 6 1 21%
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 _bulk_cost_driver_property_options 35 1 0 16 2 94%
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 9 2 0 2 1 73%
backend/django/Economics/costing/cost_curves/driver_properties.py _property_varies_for_study_schedule 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 1 0 8 1 90%
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 2 0 6 2 69%
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) 108 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._aggregate_decimal_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 CapitalCostDriverInput._validate_schedule_aggregate_fields 9 2 0 6 2 73%
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) 108 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/library.py save_private_template_from_curve 7 0 0 4 1 91%
backend/django/Economics/costing/cost_curves/library.py _available_template_key 7 3 0 2 1 56%
backend/django/Economics/costing/cost_curves/library.py (no function) 4 0 0 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 1 0 0 0 0 100%
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 10 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.update 8 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.partial_update 8 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.destroy 10 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 CostCurveViewSet.perform_create 2 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet.perform_update 2 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py CostCurveViewSet._save_private_template_if_requested 2 0 0 2 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 2 0 0 2 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py _refresh_dependent_study 5 0 0 0 0 100%
backend/django/Economics/costing/cost_curves/viewsets.py (no function) 37 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._lang_factor 10 0 0 6 1 94%
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 13 6 0 10 4 57%
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) 122 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 1 0 0 0 0%
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.perform_update 4 0 0 0 0 100%
backend/django/Economics/costing/costable_items/viewsets.py EquipmentMappingViewSet.bulk_setup 38 4 0 16 4 85%
backend/django/Economics/costing/costable_items/viewsets.py (no function) 39 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 19 3 0 10 1 86%
backend/django/Economics/costing/line_properties/sync.py _unit_literal 11 3 0 8 3 68%
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 6 0 4 1 40%
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) 34 0 0 0 0 100%
backend/django/Economics/costing/models.py CostCurveDefinition.__str__ 1 1 0 0 0 0%
backend/django/Economics/costing/models.py CostCurveDefinition.save 2 0 0 0 0 100%
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) 170 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 2 0 10 2 81%
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 steam_fuel_energy_from_default_rate 8 2 0 4 2 67%
backend/django/Economics/costing/operating/resource_basis.py annual_resource_quantity 3 1 0 2 1 60%
backend/django/Economics/costing/operating/resource_basis.py converted_annual_resource_quantity 3 1 0 2 1 60%
backend/django/Economics/costing/operating/resource_basis.py _steam_output_energy_gj_per_year 5 1 0 2 1 71%
backend/django/Economics/costing/operating/resource_basis.py _steam_energy_gj_per_t 2 0 0 0 0 100%
backend/django/Economics/costing/operating/resource_basis.py _steam_boiler_efficiency_percent 2 0 0 0 0 100%
backend/django/Economics/costing/operating/resource_basis.py _steam_default_metadata 1 0 0 0 0 100%
backend/django/Economics/costing/operating/resource_basis.py _annual_unit 6 1 0 4 1 80%
backend/django/Economics/costing/operating/resource_basis.py _decimal_or_none 6 3 0 2 1 50%
backend/django/Economics/costing/operating/resource_basis.py (no function) 31 0 0 0 0 100%
backend/django/Economics/costing/operating/resource_classification.py operating_resource_classification 11 0 0 10 0 100%
backend/django/Economics/costing/operating/resource_classification.py operating_resource_metric_quantity 10 3 0 8 3 67%
backend/django/Economics/costing/operating/resource_classification.py _steam_resource_classification 7 0 0 4 0 100%
backend/django/Economics/costing/operating/resource_classification.py (no function) 15 0 0 0 0 100%
backend/django/Economics/costing/operating/schedule_calculation.py calculate_operating_line 9 0 0 4 1 92%
backend/django/Economics/costing/operating/schedule_calculation.py _calculate_scheduled_operating_line 25 6 0 10 4 71%
backend/django/Economics/costing/operating/schedule_calculation.py _should_use_schedule 2 0 0 0 0 100%
backend/django/Economics/costing/operating/schedule_calculation.py _steady_formula_or_none 4 0 0 0 0 100%
backend/django/Economics/costing/operating/schedule_calculation.py _scheduled_basis_quantity 6 2 0 4 2 60%
backend/django/Economics/costing/operating/schedule_calculation.py (no function) 41 0 0 0 0 100%
backend/django/Economics/costing/operating/serializers.py OperatingCostLineListSerializer.to_representation 14 0 0 8 1 95%
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.get_schedule_basis_locked 9 1 0 4 1 85%
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) 64 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 13 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 31 0 0 14 2 96%
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 6 1 0 2 1 75%
backend/django/Economics/costing/operating/stream_properties.py _numeric_property_prefetch 1 0 0 0 0 100%
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 _resolve_operating_property_option 6 4 0 4 1 30%
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) 68 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 27 1 0 12 2 92%
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 4 0 0 0 0 100%
backend/django/Economics/formulas/builders/capital.py build_electrical_upgrade_formula 16 0 0 4 0 100%
backend/django/Economics/formulas/builders/capital.py build_target_total_capex_formula 24 0 0 8 0 100%
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 36 2 0 30 1 95%
backend/django/Economics/formulas/builders/metric_property_formulas.py _target_capex_property_formula 19 0 0 12 0 100%
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_net_benefit_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) 48 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 annual_net_benefit_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 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 16 1 0 8 1 92%
backend/django/Economics/formulas/builders/operating.py resolve_operating_line_rate_basis 9 2 0 4 2 69%
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 1 0 0 0 0%
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) 79 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) 51 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 6 0 4 1 44%
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 47 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 _schedule_objective_block_reason 3 0 0 2 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) 22 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) 101 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.clean 5 2 0 4 1 44%
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) 106 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 EconomicsResultRunSerializer.get_resource_metrics 5 0 0 2 0 100%
backend/django/Economics/results/serializers.py serializer_result_run_classification 5 0 0 2 0 100%
backend/django/Economics/results/serializers.py (no function) 74 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 24 0 0 14 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_cost_timeline_datasets 29 0 0 6 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_timeline_chart_point_count 5 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_timeline_bucket_count 5 1 0 2 1 71%
backend/django/Economics/results/services/chart_datasets.py _timeline_steps_from_buckets 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _active_timeline_bucket_hours 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_timeline_downsampled_message 3 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _empty_operating_timeline_dataset 1 0 0 0 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_line_step_amount 9 2 0 6 2 73%
backend/django/Economics/results/services/chart_datasets.py _operating_line_bucket_amount 5 0 0 2 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_line_segment_amount 8 5 0 6 2 36%
backend/django/Economics/results/services/chart_datasets.py _timeline_interval_hours 6 1 0 4 1 80%
backend/django/Economics/results/services/chart_datasets.py _schedule_contribution_for_row 16 3 0 10 3 77%
backend/django/Economics/results/services/chart_datasets.py _operating_total_timeline_points 13 0 0 6 0 100%
backend/django/Economics/results/services/chart_datasets.py _operating_line_timeline_series 13 1 0 6 2 84%
backend/django/Economics/results/services/chart_datasets.py _operating_timeline_datum 1 0 0 0 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) 147 0 0 0 0 100%
backend/django/Economics/results/services/comparison/__init__.py (no function) 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py comparison_chart_datasets 3 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _datasets_by_run 7 0 0 4 0 100%
backend/django/Economics/results/services/comparison/charts.py _cash_flow_overlay_dataset 28 2 0 14 2 90%
backend/django/Economics/results/services/comparison/charts.py _cash_flow_series_from_context 3 0 0 2 0 100%
backend/django/Economics/results/services/comparison/charts.py _cash_flow_metric_value 3 0 0 2 0 100%
backend/django/Economics/results/services/comparison/charts.py _cost_breakdown_dataset 27 0 0 14 0 100%
backend/django/Economics/results/services/comparison/charts.py _operating_timeline_overlay_dataset 19 0 0 10 2 93%
backend/django/Economics/results/services/comparison/charts.py _source_dataset 3 0 0 2 0 100%
backend/django/Economics/results/services/comparison/charts.py _comparison_point 6 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _target_labels 3 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _series 3 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _points 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _metadata 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _source_row_keys 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _warning_refs 3 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _unique 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py _unique_warning_refs 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/charts.py (no function) 30 0 0 0 0 100%
backend/django/Economics/results/services/comparison/config.py save_comparison_config 19 0 0 4 0 100%
backend/django/Economics/results/services/comparison/config.py _selected_baseline_study_id 3 0 0 2 0 100%
backend/django/Economics/results/services/comparison/config.py comparison_config 4 0 0 0 0 100%
backend/django/Economics/results/services/comparison/config.py baseline_study_id 4 0 0 2 0 100%
backend/django/Economics/results/services/comparison/config.py baseline_mode 3 0 0 2 0 100%
backend/django/Economics/results/services/comparison/config.py config_payload 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/config.py (no function) 16 0 0 0 0 100%
backend/django/Economics/results/services/comparison/contracts.py (no function) 99 0 0 0 0 100%
backend/django/Economics/results/services/comparison/metrics.py comparison_rows 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/metrics.py comparison_rows_for_specs 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/metrics.py _comparison_row 4 0 0 0 0 100%
backend/django/Economics/results/services/comparison/metrics.py _value_payload 18 0 0 12 0 100%
backend/django/Economics/results/services/comparison/metrics.py _line_for_context 3 0 0 2 0 100%
backend/django/Economics/results/services/comparison/metrics.py _mark_best_values 14 0 0 10 0 100%
backend/django/Economics/results/services/comparison/metrics.py _comparison_status 7 0 0 6 0 100%
backend/django/Economics/results/services/comparison/metrics.py _percentage_difference 6 1 0 4 1 80%
backend/django/Economics/results/services/comparison/metrics.py (no function) 20 0 0 0 0 100%
backend/django/Economics/results/services/comparison/payloads.py saved_comparison_payload 10 0 0 0 0 100%
backend/django/Economics/results/services/comparison/payloads.py _study_payload 9 0 0 4 0 100%
backend/django/Economics/results/services/comparison/payloads.py (no function) 13 0 0 0 0 100%
backend/django/Economics/results/services/comparison/recalculation.py comparison_contexts_with_ephemeral_baseline 16 0 0 8 0 100%
backend/django/Economics/results/services/comparison/recalculation.py _recalculated_context 19 2 0 8 0 93%
backend/django/Economics/results/services/comparison/recalculation.py _calculation_inputs 3 0 0 0 0 100%
backend/django/Economics/results/services/comparison/recalculation.py _target_snapshot 4 0 0 0 0 100%
backend/django/Economics/results/services/comparison/recalculation.py _baseline_resolution 8 2 0 6 2 71%
backend/django/Economics/results/services/comparison/recalculation.py _unavailable_baseline_resolution 1 1 0 0 0 0%
backend/django/Economics/results/services/comparison/recalculation.py _row_requires_baseline 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/recalculation.py _with_recalculation_unavailable_rows 5 0 0 4 0 100%
backend/django/Economics/results/services/comparison/recalculation.py _warning_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/recalculation.py (no function) 28 0 0 0 0 100%
backend/django/Economics/results/services/comparison/resources.py resource_comparison_rows 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/resources.py (no function) 6 0 0 0 0 100%
backend/django/Economics/results/services/comparison/results.py result_context 5 1 0 2 1 71%
backend/django/Economics/results/services/comparison/results.py _result_context_for_accessible_study 6 0 0 2 0 100%
backend/django/Economics/results/services/comparison/results.py _classification 4 2 0 0 0 50%
backend/django/Economics/results/services/comparison/results.py (no function) 15 0 0 0 0 100%
backend/django/Economics/results/services/comparison/targets.py comparison_targets 4 0 0 2 0 100%
backend/django/Economics/results/services/comparison/targets.py validate_comparison_targets 15 1 0 12 1 93%
backend/django/Economics/results/services/comparison/targets.py _target_from_selection 4 0 0 2 0 100%
backend/django/Economics/results/services/comparison/targets.py _unavailable_target 1 0 0 0 0 100%
backend/django/Economics/results/services/comparison/targets.py _accessible_study 8 1 0 4 1 83%
backend/django/Economics/results/services/comparison/targets.py _study_flowsheet_id 2 0 0 0 0 100%
backend/django/Economics/results/services/comparison/targets.py (no function) 15 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/__init__.py (no function) 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py validate_manual_baseline 3 3 0 2 0 0%
backend/django/Economics/results/services/financial_metrics/baselines.py _manual_baseline_errors 31 13 0 30 13 57%
backend/django/Economics/results/services/financial_metrics/baselines.py resolve_baseline_for_study 11 0 0 4 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py resolve_study_baseline 22 3 0 14 3 83%
backend/django/Economics/results/services/financial_metrics/baselines.py manual_baseline_profile_for_study 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py resolve_manual_baseline_for_target 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py target_assumptions_for_study 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py target_only_baseline_resolution 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py target_residual_value 4 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _study_baseline_unavailable_resolution 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _study_baseline_line_warnings 12 2 0 8 2 80%
backend/django/Economics/results/services/financial_metrics/baselines.py _current_result_run 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _current_request_user 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _metric_line 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _line_unit_mismatch 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _resolve_missing_baseline 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _resolve_manual_baseline 6 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _resolve_baseline_annual_heat_basis 7 2 0 6 2 69%
backend/django/Economics/results/services/financial_metrics/baselines.py _resolve_baseline_annual_heat_basis_unit 3 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _target_only_baseline_resolution 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _target_assumptions 5 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _get_baseline 4 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py _has_manual_baseline_values 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/baselines.py (no function) 40 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py calculate_financial_metrics 11 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py calculate_discounted_cash_flow 16 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py calculate_simple_payback_years 10 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py calculate_roi_percent 3 3 0 2 0 0%
backend/django/Economics/results/services/financial_metrics/calculation.py _base_metrics 4 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _metric_from_scalar_formula 3 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _metric_from_formula 11 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _add_annual_savings_metric 9 0 0 4 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _add_annual_net_benefit_metric 6 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _add_tax_metrics 11 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _add_incremental_capex_metric 6 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _currency_unit 3 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py currency_unit 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _add_cashflow_metrics 15 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _pure_calculation_baseline_resolution 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _discount_factor 3 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _quantize_like 5 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _discount_rate_from_percent 8 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _tax_rate_from_percent 7 0 0 6 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _cashflow_metric_assumptions 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/calculation.py _decimal_string 1 1 0 0 0 0%
backend/django/Economics/results/services/financial_metrics/calculation.py parse_decimal 7 7 0 2 0 0%
backend/django/Economics/results/services/financial_metrics/calculation.py (no function) 30 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py AssumptionSet.from_mapping 3 1 0 2 1 60%
backend/django/Economics/results/services/financial_metrics/contracts.py AssumptionSet.merge 5 0 0 2 1 86%
backend/django/Economics/results/services/financial_metrics/contracts.py AssumptionSet.merge_set 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py AssumptionSet.to_mapping 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py AssumptionSet.get 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py AssumptionSet.__getitem__ 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py TargetAssumptions.as_assumption_set 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialMetric.from_value 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialMetric.row_key 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialMetric.label 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialMetric.line_kind 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialMetric.sort_order 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialCalculationInputs.coerce_assumptions 7 2 0 6 2 69%
backend/django/Economics/results/services/financial_metrics/contracts.py FinancialMetricsError.__init__ 4 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py _financial_scalar 5 1 0 4 1 78%
backend/django/Economics/results/services/financial_metrics/contracts.py _decimal_string 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/contracts.py (no function) 120 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py FinancialInputSnapshot.to_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py FinancialInputSnapshot.calculation_inputs 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py build_financial_input_snapshot 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py snapshot_from_study_target_state 7 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py snapshot_from_result_run 4 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py financial_input_snapshot_from_payload 9 0 0 4 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py financial_input_snapshot_payload_for_result_run 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py warning_payload_with_financial_input_snapshot 4 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py calculation_inputs_for_study 2 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py target_base_capital_cost 1 1 0 0 0 0%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py target_annual_operating_expense 2 2 0 0 0 0%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py target_total_capex 5 0 0 2 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py target_capital_breakdown 9 1 0 4 1 85%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py target_operating_totals 15 0 0 8 0 100%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py _electrical_upgrade_capex 5 1 0 2 1 71%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py _decimal_from_payload 6 2 0 2 0 75%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py _required_decimal 5 2 0 0 0 60%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py _optional_decimal 6 2 0 2 0 75%
backend/django/Economics/results/services/financial_metrics/input_snapshots.py (no function) 48 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/inputs.py calculate_study_financial_metrics 14 3 0 0 0 79%
backend/django/Economics/results/services/financial_metrics/inputs.py (no function) 8 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py _spec 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py financial_metric_spec 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py required_financial_metric_spec 4 1 0 2 1 67%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py financial_metric_spec_for_row_key 1 1 0 0 0 0%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py key_financial_metric_specs 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py default_comparison_metric_specs 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py default_comparison_metric_keys 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py key_financial_metric_rows_payload 1 1 0 0 0 0%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py _metric_key_value 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/metric_catalog.py (no function) 59 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/warnings.py add_incomplete_cashflow_warning 1 0 0 0 0 100%
backend/django/Economics/results/services/financial_metrics/warnings.py target_assumption_warnings 6 2 0 4 2 60%
backend/django/Economics/results/services/financial_metrics/warnings.py (no function) 5 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 13 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 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _baseline_fingerprints 6 0 0 4 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _baseline_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _study_baseline_fingerprint 4 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _current_baseline_result_run 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _baseline_result_line_payload 4 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _baseline_result_run_classification 2 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_fingerprints 32 1 0 12 1 95%
backend/django/Economics/results/services/lifecycle/fingerprints.py schedule_source_version 13 0 0 4 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py promote_legacy_schedule_source_version 18 1 0 6 1 92%
backend/django/Economics/results/services/lifecycle/fingerprints.py _persisted_schedule_source_version 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_fingerprint_cache_key 3 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_dependency 2 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_scenario_payload 4 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _composite_schedule_source_payload 3 1 0 2 1 60%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_input_column_payload 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_input_value_payload 3 1 0 2 1 60%
backend/django/Economics/results/services/lifecycle/fingerprints.py _schedule_solution_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 7 1 0 4 1 82%
backend/django/Economics/results/services/lifecycle/fingerprints.py _capital_line_fingerprints 7 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 8 2 0 6 2 71%
backend/django/Economics/results/services/lifecycle/fingerprints.py _first_property_value 5 1 0 2 1 71%
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 0 0 6 0 100%
backend/django/Economics/results/services/lifecycle/fingerprints.py _create_dependencies 1 0 0 0 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 3 0 0 2 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) 95 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 2 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) 22 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_metric_lines 6 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _create_capital_result_lines 5 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 10 1 0 4 1 86%
backend/django/Economics/results/services/lifecycle/result_lines.py _bulk_upsert_result_lines 3 0 0 2 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py _operating_resource_payload 15 0 0 6 2 90%
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 _operating_formula_audit 8 2 0 6 2 71%
backend/django/Economics/results/services/lifecycle/result_lines.py _operating_schedule_payload 4 0 0 2 0 100%
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_sort_key 1 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/result_lines.py (no function) 48 0 0 0 0 100%
backend/django/Economics/results/services/lifecycle/runs.py classify_result_run 21 0 0 8 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) 19 0 0 0 0 100%
backend/django/Economics/results/services/resource_metrics.py resource_metric_specs 1 0 0 0 0 100%
backend/django/Economics/results/services/resource_metrics.py resource_metric_values_for_lines 28 0 0 12 0 100%
backend/django/Economics/results/services/resource_metrics.py resource_metric_payloads_for_lines 6 0 0 2 0 100%
backend/django/Economics/results/services/resource_metrics.py _add_quantity 4 2 0 2 1 50%
backend/django/Economics/results/services/resource_metrics.py _add_cost 9 4 0 4 2 54%
backend/django/Economics/results/services/resource_metrics.py _annual_currency_unit_for_line 8 3 0 6 3 57%
backend/django/Economics/results/services/resource_metrics.py _converted_resource_metric_quantity 3 1 0 2 1 60%
backend/django/Economics/results/services/resource_metrics.py _format_resource_amount 3 1 0 2 1 60%
backend/django/Economics/results/services/resource_metrics.py (no function) 45 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/scheduling/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/scheduling/composite/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py CompositeAnnualTraversal.durations_by_step 4 0 0 2 0 100%
backend/django/Economics/scheduling/composite/compiler.py CompositeAnnualTraversal.steps 8 0 0 6 0 100%
backend/django/Economics/scheduling/composite/compiler.py CompositeAnnualTraversal.buckets 16 2 0 6 2 82%
backend/django/Economics/scheduling/composite/compiler.py compile_composite_schedule 8 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py saved_compiled_composite_schedule 7 1 0 2 1 78%
backend/django/Economics/scheduling/composite/compiler.py empty_invalid_composite_schedule 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py active_composite_steps 3 1 0 2 1 60%
backend/django/Economics/scheduling/composite/compiler.py composite_source_scenario_ids 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py annual_composite_traversal 15 2 0 6 2 81%
backend/django/Economics/scheduling/composite/compiler.py is_active_composite_step 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _resolve_rules 20 3 0 10 2 83%
backend/django/Economics/scheduling/composite/compiler.py _draft_from_saved_rule 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _overlap_diagnostics 14 2 0 10 2 83%
backend/django/Economics/scheduling/composite/compiler.py _rule_invariant_diagnostics 5 0 0 4 0 100%
backend/django/Economics/scheduling/composite/compiler.py _compiled_weekly_timeline 14 0 0 10 0 100%
backend/django/Economics/scheduling/composite/compiler.py _compiled_segments 11 1 0 6 1 88%
backend/django/Economics/scheduling/composite/compiler.py _rule_intervals 10 0 0 8 0 100%
backend/django/Economics/scheduling/composite/compiler.py _compiled_interval_segments 29 2 0 10 2 90%
backend/django/Economics/scheduling/composite/compiler.py _scheduled_segment_step 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _off_step 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _positive_weekly_steps 3 1 0 2 1 60%
backend/django/Economics/scheduling/composite/compiler.py _annual_operating_hours 2 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _remainder_active_steps 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _active_step_elapsed 4 0 0 2 0 100%
backend/django/Economics/scheduling/composite/compiler.py _active_step_end_elapsed 6 0 0 2 0 100%
backend/django/Economics/scheduling/composite/compiler.py _active_step_row_index 3 0 0 2 0 100%
backend/django/Economics/scheduling/composite/compiler.py _active_bucket_segments 10 0 0 6 0 100%
backend/django/Economics/scheduling/composite/compiler.py _add_full_cycle_segments 16 4 0 10 2 69%
backend/django/Economics/scheduling/composite/compiler.py _add_active_step_slice 2 0 0 2 0 100%
backend/django/Economics/scheduling/composite/compiler.py _day_mask 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _day_start_hours 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _weekly_interval_parts 10 2 0 6 2 75%
backend/django/Economics/scheduling/composite/compiler.py _time_offset_hours 2 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py _hours_to_time 6 0 0 2 0 100%
backend/django/Economics/scheduling/composite/compiler.py _schedule_row_indices 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/compiler.py (no function) 143 0 0 0 0 100%
backend/django/Economics/scheduling/composite/contracts.py CompositeScheduleRuleDraft._trim_label 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/contracts.py (no function) 63 0 0 0 0 100%
backend/django/Economics/scheduling/composite/domain.py (no function) 30 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py saved_schedule_plan_payload 4 0 0 2 0 100%
backend/django/Economics/scheduling/composite/plan_services.py preview_schedule_plan 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py replace_schedule_plan 16 2 0 4 1 85%
backend/django/Economics/scheduling/composite/plan_services.py validate_composite_schedule_selection 2 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py _payload_from_drafts 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py _payload_from_compiled 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py _rule_input_from_request 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py _source_payload 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py _schedule_step_payload 1 0 0 0 0 100%
backend/django/Economics/scheduling/composite/plan_services.py _raise_if_invalid 3 0 0 2 0 100%
backend/django/Economics/scheduling/composite/plan_services.py (no function) 17 0 0 0 0 100%
backend/django/Economics/scheduling/durations.py hours_per_unit 1 0 0 0 0 100%
backend/django/Economics/scheduling/durations.py interval_hours 1 0 0 0 0 100%
backend/django/Economics/scheduling/durations.py cycle_duration_hours 1 0 0 0 0 100%
backend/django/Economics/scheduling/durations.py annualized_active_step_count 7 1 0 2 1 78%
backend/django/Economics/scheduling/durations.py annualized_active_duration_by_key 17 2 0 10 2 85%
backend/django/Economics/scheduling/durations.py annualized_remainder_cycle_steps 7 1 0 2 1 78%
backend/django/Economics/scheduling/durations.py annualize_cycle 17 3 0 8 3 76%
backend/django/Economics/scheduling/durations.py _walk_cycle_once 12 1 0 6 1 89%
backend/django/Economics/scheduling/durations.py _positive_duration 1 0 0 0 0 100%
backend/django/Economics/scheduling/durations.py _unit_key 1 0 0 0 0 100%
backend/django/Economics/scheduling/durations.py (no function) 27 0 0 0 0 100%
backend/django/Economics/scheduling/events.py schedule_scenario_inputs_changed 3 0 0 0 0 100%
backend/django/Economics/scheduling/events.py schedule_scenario_configuration_changed 3 0 0 0 0 100%
backend/django/Economics/scheduling/events.py schedule_scenario_solve_started 3 0 0 0 0 100%
backend/django/Economics/scheduling/events.py schedule_scenario_solve_completed 1 0 0 0 0 100%
backend/django/Economics/scheduling/events.py _advance_schedule_revisions 4 1 0 2 1 67%
backend/django/Economics/scheduling/events.py _scenario_id_set 1 0 0 0 0 100%
backend/django/Economics/scheduling/events.py _mark_schedule_scenario_studies_stale 10 1 0 4 1 86%
backend/django/Economics/scheduling/events.py (no function) 14 0 0 0 0 100%
backend/django/Economics/scheduling/serializers.py (no function) 24 0 0 0 0 100%
backend/django/Economics/scheduling/series.py property_is_schedule_varying 5 1 0 4 1 78%
backend/django/Economics/scheduling/series.py study_property_is_schedule_varying 9 7 0 6 1 20%
backend/django/Economics/scheduling/series.py study_schedule_varying_property_ids 10 3 0 8 3 67%
backend/django/Economics/scheduling/series.py _schedule_varying_property_ids 4 0 0 0 0 100%
backend/django/Economics/scheduling/series.py study_schedule_property_resolution 5 0 0 4 0 100%
backend/django/Economics/scheduling/series.py study_schedule_property_resolutions 6 0 0 4 0 100%
backend/django/Economics/scheduling/series.py property_schedule_resolution 20 1 0 8 1 93%
backend/django/Economics/scheduling/series.py property_schedule_resolutions 11 2 0 4 2 73%
backend/django/Economics/scheduling/series.py _scenario_input_values_by_property 12 0 0 6 1 94%
backend/django/Economics/scheduling/series.py _scenario_output_values_by_property 6 0 0 2 0 100%
backend/django/Economics/scheduling/series.py _batched_property_schedule_resolution 7 1 0 2 1 78%
backend/django/Economics/scheduling/series.py study_schedule_row_durations 5 1 0 4 1 78%
backend/django/Economics/scheduling/series.py annual_schedule_row_durations 13 2 0 6 2 79%
backend/django/Economics/scheduling/series.py study_schedule_timeline_steps 5 0 0 4 0 100%
backend/django/Economics/scheduling/series.py annual_schedule_timeline_steps 10 1 0 4 1 86%
backend/django/Economics/scheduling/series.py _scenario_annualized_active_step_count 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _scenario_annualized_remainder_steps 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py study_schedule_timeline_buckets 7 2 0 6 2 69%
backend/django/Economics/scheduling/series.py annual_schedule_timeline_buckets 29 5 0 12 5 76%
backend/django/Economics/scheduling/series.py study_schedule_timeline_step_count 5 0 0 4 0 100%
backend/django/Economics/scheduling/series.py annual_schedule_timeline_step_count 9 1 0 4 1 85%
backend/django/Economics/scheduling/series.py _scenario_bucket_segments 12 1 0 8 2 85%
backend/django/Economics/scheduling/series.py _cyclic_index_count 6 2 0 4 2 60%
backend/django/Economics/scheduling/series.py _composite_property_schedule_resolution 34 5 0 14 6 77%
backend/django/Economics/scheduling/series.py _composite_annual_schedule_row_durations 6 1 0 2 1 75%
backend/django/Economics/scheduling/series.py _composite_annual_schedule_timeline_steps 5 0 0 2 0 100%
backend/django/Economics/scheduling/series.py _composite_annual_schedule_timeline_buckets 5 1 0 2 1 71%
backend/django/Economics/scheduling/series.py _composite_annual_schedule_timeline_step_count 3 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _empty_resolution 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _empty_study_resolution 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _schedule_rows 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _input_column_for_property 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _input_values_by_row 2 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _output_values_by_row 6 0 0 2 0 100%
backend/django/Economics/scheduling/series.py _is_optimization_dof 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _is_process_dof 4 0 0 4 0 100%
backend/django/Economics/scheduling/series.py _property_value_is_free_variable 1 0 0 0 0 100%
backend/django/Economics/scheduling/series.py _steady_property_decimal_or_none 4 2 0 0 0 50%
backend/django/Economics/scheduling/series.py _decimal_or_none 3 0 0 2 0 100%
backend/django/Economics/scheduling/series.py (no function) 104 0 2 0 0 100%
backend/django/Economics/scheduling/services.py compatible_schedule_scenarios 7 0 0 4 0 100%
backend/django/Economics/scheduling/services.py schedule_scenario_option 11 1 0 6 1 88%
backend/django/Economics/scheduling/services.py validate_schedule_selection 12 5 0 12 5 58%
backend/django/Economics/scheduling/services.py schedule_preview 24 8 0 10 2 65%
backend/django/Economics/scheduling/services.py scenario_interval_hours 1 0 0 0 0 100%
backend/django/Economics/scheduling/services.py schedule_length_display 11 7 0 8 1 37%
backend/django/Economics/scheduling/services.py _scenario_row_indices 2 0 0 0 0 100%
backend/django/Economics/scheduling/services.py _scenario_row_metadata 2 0 0 0 0 100%
backend/django/Economics/scheduling/services.py _scenario_solved_indices 4 0 0 2 0 100%
backend/django/Economics/scheduling/services.py _incomplete_schedule_message 5 0 0 2 0 100%
backend/django/Economics/scheduling/services.py _study_annual_operating_hours 2 0 0 0 0 100%
backend/django/Economics/scheduling/services.py _display_decimal 1 0 0 0 0 100%
backend/django/Economics/scheduling/services.py (no function) 50 0 2 0 0 100%
backend/django/Economics/settings_profiles/__init__.py (no function) 0 0 0 0 0 100%
backend/django/Economics/settings_profiles/defaults.py apply_new_profile_defaults 2 0 0 0 0 100%
backend/django/Economics/settings_profiles/defaults.py (no function) 4 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.save 2 0 0 0 0 100%
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) 102 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 21 4 0 12 4 76%
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._validate_unique_name_for_project 13 3 0 10 3 74%
backend/django/Economics/settings_profiles/serializers.py EconomicsSettingsProfileSerializer.create 6 1 0 2 1 75%
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) 85 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_project 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/services/settings_profiles.py get_or_create_default_settings_profile_for_project 12 5 0 4 0 56%
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 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_serializer_context 5 0 0 2 1 86%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.get_queryset 2 0 0 0 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.retrieve 1 1 0 0 0 0%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.create 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.update 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.partial_update 1 0 0 0 0 100%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.destroy 1 1 0 0 0 0%
backend/django/Economics/settings_profiles/viewsets.py EconomicsSettingsProfileViewSet.perform_create 3 0 0 0 0 100%
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) 51 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) 118 0 0 0 0 100%
backend/django/Economics/shared/model_base.py _validate_same_flowsheet_state 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 _current_flowsheet_state_id 3 0 0 0 0 100%
backend/django/Economics/shared/serializer_base.py _validate_same_flowsheet_state 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) 9 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 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) 10 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 EconomicsStudy.clean 8 1 0 2 1 80%
backend/django/Economics/studies/models.py EconomicsStudy.save 3 0 0 2 0 100%
backend/django/Economics/studies/models.py EconomicsStudyComparisonConfig.__str__ 1 1 0 0 0 0%
backend/django/Economics/studies/models.py EconomicsStudyComparisonSelection.__str__ 1 1 0 0 0 0%
backend/django/Economics/studies/models.py EconomicsSchedulePlan.__str__ 1 1 0 0 0 0%
backend/django/Economics/studies/models.py EconomicsScheduleRule.__str__ 1 1 0 0 0 0%
backend/django/Economics/studies/models.py EconomicsScheduleRule.clean 6 2 0 4 2 60%
backend/django/Economics/studies/models.py (no function) 87 0 0 0 0 100%
backend/django/Economics/studies/serializers.py BaselineStudyRelatedField.get_queryset 1 0 0 0 0 100%
backend/django/Economics/studies/serializers.py BaselineStudyRelatedField.get_attribute 1 0 0 0 0 100%
backend/django/Economics/studies/serializers.py BaselineStudyRelatedField.to_internal_value 12 3 0 4 1 75%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.validate 12 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer._validation_flowsheet_id 12 2 0 6 2 78%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer._validate_related_flowsheet 6 0 0 4 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer._validate_settings_profile_project 9 0 0 6 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.create 17 1 0 8 3 84%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.update 8 0 0 4 1 92%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_result_state 8 0 0 4 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_schedule_scenario_name 1 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_flowsheet_name 1 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_schedule_preview 1 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_baseline_study_name 2 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_baseline_study_flowsheet 1 0 0 0 0 100%
backend/django/Economics/studies/serializers.py EconomicsStudySerializer.get_baseline_study_flowsheet_name 2 0 0 0 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 7 0 0 4 0 100%
backend/django/Economics/studies/serializers.py (no function) 84 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/baseline_access.py stable_flowsheet_id 1 0 0 0 0 100%
backend/django/Economics/studies/services/baseline_access.py resolve_study_reference 11 0 0 6 0 100%
backend/django/Economics/studies/services/baseline_access.py resolve_baseline_study 3 1 0 2 1 60%
backend/django/Economics/studies/services/baseline_access.py set_baseline_study_reference 6 0 0 2 0 100%
backend/django/Economics/studies/services/baseline_access.py baseline_study_is_readable_by_user 2 0 0 0 0 100%
backend/django/Economics/studies/services/baseline_access.py require_readable_baseline_studies_for_user 5 0 0 2 0 100%
backend/django/Economics/studies/services/baseline_access.py _require_readable_baseline_studies 10 0 0 6 0 100%
backend/django/Economics/studies/services/baseline_access.py _readable_flowsheet_ids 3 0 0 2 0 100%
backend/django/Economics/studies/services/baseline_access.py baseline_study_matches_target_study 1 0 0 0 0 100%
backend/django/Economics/studies/services/baseline_access.py (no function) 15 0 0 0 0 100%
backend/django/Economics/studies/services/configuration_api.py assumptions_data 22 5 0 4 1 77%
backend/django/Economics/studies/services/configuration_api.py baseline_data 21 5 0 4 1 76%
backend/django/Economics/studies/services/configuration_api.py comparison_data 11 2 0 2 0 85%
backend/django/Economics/studies/services/configuration_api.py schedule_options_data 1 0 0 0 0 100%
backend/django/Economics/studies/services/configuration_api.py schedule_plan_data 13 0 0 2 0 100%
backend/django/Economics/studies/services/configuration_api.py schedule_plan_preview_data 5 0 0 0 0 100%
backend/django/Economics/studies/services/configuration_api.py _schedule_plan_request_validation_error 2 0 0 0 0 100%
backend/django/Economics/studies/services/configuration_api.py _schedule_plan_error_message 16 10 0 12 1 32%
backend/django/Economics/studies/services/configuration_api.py (no function) 25 0 0 0 0 100%
backend/django/Economics/studies/services/mutation_api.py operating_property_options_data 1 0 0 0 0 100%
backend/django/Economics/studies/services/mutation_api.py create_operating_line_from_property_response 18 5 0 2 1 70%
backend/django/Economics/studies/services/mutation_api.py create_operating_lines_from_properties_response 19 3 0 4 1 83%
backend/django/Economics/studies/services/mutation_api.py enable_costing_response 13 2 0 0 0 85%
backend/django/Economics/studies/services/mutation_api.py duplicate_study_instance 4 0 0 0 0 100%
backend/django/Economics/studies/services/mutation_api.py recalculate_data 9 2 0 0 0 78%
backend/django/Economics/studies/services/mutation_api.py _bad_request_from_error 1 0 0 0 0 100%
backend/django/Economics/studies/services/mutation_api.py (no function) 26 0 0 0 0 100%
backend/django/Economics/studies/services/project_scope.py current_flowsheet_from_context 12 2 0 8 2 80%
backend/django/Economics/studies/services/project_scope.py current_project_from_flowsheet_context 1 0 0 0 0 100%
backend/django/Economics/studies/services/project_scope.py project_non_template_flowsheets 3 0 0 0 0 100%
backend/django/Economics/studies/services/project_scope.py resolve_target_study_flowsheet 15 3 0 10 3 76%
backend/django/Economics/studies/services/project_scope.py study_queryset_for_project 3 0 0 0 0 100%
backend/django/Economics/studies/services/project_scope.py study_is_in_current_project 5 1 0 2 1 71%
backend/django/Economics/studies/services/project_scope.py (no function) 15 0 0 0 0 100%
backend/django/Economics/studies/services/read_api.py full_study_instance 3 0 0 2 0 100%
backend/django/Economics/studies/services/read_api.py current_result_data 5 1 0 2 1 71%
backend/django/Economics/studies/services/read_api.py chart_datasets_data 5 1 0 2 1 71%
backend/django/Economics/studies/services/read_api.py (no function) 10 0 0 0 0 100%
backend/django/Economics/studies/services/result_staleness.py mark_study_stale 1 0 0 0 0 100%
backend/django/Economics/studies/services/result_staleness.py (no function) 4 0 0 0 0 100%
backend/django/Economics/studies/services/study_configuration.py StudyConfigurationValidationError.__init__ 2 0 0 0 0 100%
backend/django/Economics/studies/services/study_configuration.py normalize_study_configuration_attrs 8 0 0 4 0 100%
backend/django/Economics/studies/services/study_configuration.py validate_study_configuration_attrs 2 0 0 0 0 100%
backend/django/Economics/studies/services/study_configuration.py validate_study_configuration_for_model 2 0 0 0 0 100%
backend/django/Economics/studies/services/study_configuration.py _configuration_from_attrs 18 0 0 6 0 100%
backend/django/Economics/studies/services/study_configuration.py _validate_configuration 9 0 0 8 0 100%
backend/django/Economics/studies/services/study_configuration.py _validate_study_baseline 9 0 0 6 0 100%
backend/django/Economics/studies/services/study_configuration.py _validate_scenario_schedule 4 0 0 0 0 100%
backend/django/Economics/studies/services/study_configuration.py _validate_composite_schedule 7 0 0 2 0 100%
backend/django/Economics/studies/services/study_configuration.py _schedule_candidate 7 0 0 2 1 89%
backend/django/Economics/studies/services/study_configuration.py _baseline_study_matches_project_flowsheet 4 1 0 2 1 67%
backend/django/Economics/studies/services/study_configuration.py (no function) 30 0 2 0 0 100%
backend/django/Economics/studies/services/study_copy.py duplicate_study 10 2 0 2 1 75%
backend/django/Economics/studies/services/study_copy.py _duplicate_name 11 3 0 6 2 71%
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 _copy_schedule_plan 7 3 0 2 0 44%
backend/django/Economics/studies/services/study_copy.py (no function) 17 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.get_serializer 3 0 0 2 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.update 2 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.list 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.project 4 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_update 13 0 0 6 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.full 2 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.operating_property_options 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.schedule_options 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.schedule_plan 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.schedule_plan_preview 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.create_operating_line_from_property 2 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.create_operating_lines_from_properties 2 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.assumptions 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.baseline 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.enable_costing 2 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.recalculate 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.current_result 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.chart_datasets 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.comparison 1 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py EconomicsStudyViewSet.duplicate 2 0 0 0 0 100%
backend/django/Economics/studies/viewsets.py (no function) 89 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) 15 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) 86 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) 69 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) 99 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) 15 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) 23 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) 17 0 0 0 0 100%
backend/django/PinchAnalysis/serializers/PinchOutputSerializers.py (no function) 47 0 0 0 0 100%
backend/django/PinchAnalysis/serializers/StreamDataProjectSerializer.py (no function) 8 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) 22 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 12 12 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 13 0 0 0 0 100%
backend/django/PinchAnalysis/views/SegmentViewSet.py SegmentViewSet.bulk_create 31 31 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) 56 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) 31 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 9 9 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 CoreConfig.ready 1 0 0 0 0 100%
backend/django/core/apps.py (no function) 5 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 2 0 0 0 0 100%
backend/django/core/auxiliary/apps.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/checks.py check_flowsheet_state_clone_registry 5 0 0 0 0 100%
backend/django/core/auxiliary/checks.py (no function) 4 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) 6 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) 5 0 0 0 0 100%
backend/django/core/auxiliary/enums/unitOpGraphics.py (no function) 42 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 0 0 2 0 100%
backend/django/core/auxiliary/enums/unitsLibrary.py (no function) 5 0 0 0 0 100%
backend/django/core/auxiliary/enums/unitsOfMeasure.py (no function) 89 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 6 2 0 4 2 60%
backend/django/core/auxiliary/formula_units.py (no function) 2 0 0 0 0 100%
backend/django/core/auxiliary/managers/TaskManager.py handle_task_running_event 11 0 0 2 0 100%
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/__init__.py (no function) 0 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/copy_object/formula_remapping.py update_formulas 14 2 0 8 1 86%
backend/django/core/auxiliary/methods/copy_object/formula_remapping.py (no function) 6 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/model_lookup.py ModelLookup.__init__ 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/model_lookup.py ModelLookup.get_model 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/model_lookup.py ModelLookup.__iter__ 1 0 0 0 0 100%
backend/django/core/auxiliary/methods/copy_object/model_lookup.py (no function) 7 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) 9 0 0 0 0 100%
backend/django/core/auxiliary/models/ControlValue.py ControlValue.create 6 2 0 4 2 60%
backend/django/core/auxiliary/models/ControlValue.py ControlValue.delete 1 0 0 0 0 100%
backend/django/core/auxiliary/models/ControlValue.py (no function) 15 0 4 0 0 100%
backend/django/core/auxiliary/models/CustomPropertyPackage.py (no function) 67 0 2 0 0 100%
backend/django/core/auxiliary/models/DataCell.py (no function) 13 0 0 0 0 100%
backend/django/core/auxiliary/models/DataColumn.py (no function) 15 0 0 0 0 100%
backend/django/core/auxiliary/models/DataRow.py (no function) 11 0 0 0 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.create 22 1 0 4 1 92%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.clean 9 4 0 6 2 47%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.next_default_name 10 0 0 6 1 94%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.set_saved_date 3 3 0 0 0 0%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.record_content_change 10 0 0 2 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.invalidate_edit_history 4 0 0 0 0 100%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.with_user_access 3 3 0 2 0 0%
backend/django/core/auxiliary/models/Flowsheet.py Flowsheet.get_flowsheets_by_view_type 8 8 0 6 0 0%
backend/django/core/auxiliary/models/Flowsheet.py (no function) 34 0 0 0 0 100%
backend/django/core/auxiliary/models/FlowsheetHistoryModel.py (no function) 4 0 0 0 0 100%
backend/django/core/auxiliary/models/FlowsheetState.py FlowsheetState.clean 11 2 0 12 2 83%
backend/django/core/auxiliary/models/FlowsheetState.py FlowsheetState.save 4 0 0 2 0 100%
backend/django/core/auxiliary/models/FlowsheetState.py FlowsheetState.is_working 1 1 0 0 0 0%
backend/django/core/auxiliary/models/FlowsheetState.py (no function) 34 0 0 0 0 100%
backend/django/core/auxiliary/models/IndexedItem.py (no function) 19 0 0 0 0 100%
backend/django/core/auxiliary/models/MLColumnMapping.py (no function) 18 0 0 0 0 100%
backend/django/core/auxiliary/models/MLModel.py MLModel.save 8 2 0 4 0 83%
backend/django/core/auxiliary/models/MLModel.py (no function) 40 0 0 0 0 100%
backend/django/core/auxiliary/models/MLWizard.py create_column_mapping 1 0 0 0 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) 12 0 0 0 0 100%
backend/django/core/auxiliary/models/MonitoringTable.py MonitoringTableProperty.save 3 0 0 2 0 100%
backend/django/core/auxiliary/models/MonitoringTable.py (no function) 29 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) 17 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) 16 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) 14 0 0 0 0 100%
backend/django/core/auxiliary/models/Project.py ProjectQuerySet.bulk_create 12 1 0 8 3 80%
backend/django/core/auxiliary/models/Project.py ProjectQuerySet.update 7 1 0 4 1 82%
backend/django/core/auxiliary/models/Project.py Project.create_empty 6 0 0 0 0 100%
backend/django/core/auxiliary/models/Project.py Project.create 6 0 0 0 0 100%
backend/django/core/auxiliary/models/Project.py Project._validate_structure 10 0 0 8 0 100%
backend/django/core/auxiliary/models/Project.py Project.save 6 0 0 2 0 100%
backend/django/core/auxiliary/models/Project.py Project.clean 4 1 0 2 1 67%
backend/django/core/auxiliary/models/Project.py Project.get_configurations 3 0 0 2 0 100%
backend/django/core/auxiliary/models/Project.py Project.set_active_flowsheet 5 1 0 2 1 71%
backend/django/core/auxiliary/models/Project.py (no function) 33 0 2 0 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolderQuerySet._reject_structural_fields 4 0 0 2 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolderQuerySet.update 2 0 0 0 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolderQuerySet.bulk_update 2 0 0 0 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolderQuerySet.bulk_create 4 0 0 0 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolder.validate_bulk_structures 12 2 0 10 2 82%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolder._validate_structure 14 2 0 12 3 81%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolder.clean 3 0 0 0 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolder.save 6 0 0 2 0 100%
backend/django/core/auxiliary/models/ProjectFolder.py ProjectFolder.__str__ 1 1 0 0 0 0%
backend/django/core/auxiliary/models/ProjectFolder.py (no function) 30 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 0 100%
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) 78 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) 31 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 6 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 2 0 6 2 69%
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 1 0 8 2 88%
backend/django/core/auxiliary/models/PropertyValue.py sort_indexes 10 0 0 6 0 100%
backend/django/core/auxiliary/models/PropertyValue.py (no function) 38 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) 23 0 0 0 0 100%
backend/django/core/auxiliary/models/Scenario.py (no function) 100 0 0 0 0 100%
backend/django/core/auxiliary/models/ScenarioResultSummaryCache.py (no function) 29 0 0 0 0 100%
backend/django/core/auxiliary/models/Solution.py (no function) 14 0 0 0 0 100%
backend/django/core/auxiliary/models/SolveCompletionEmail.py SolveCompletionEmail.clean 8 8 0 6 0 0%
backend/django/core/auxiliary/models/SolveCompletionEmail.py (no function) 40 0 0 0 0 100%
backend/django/core/auxiliary/models/Task.py Task.create 11 0 0 6 1 94%
backend/django/core/auxiliary/models/Task.py Task.create_parent_task 10 1 0 4 1 86%
backend/django/core/auxiliary/models/Task.py Task.clean 4 4 0 2 0 0%
backend/django/core/auxiliary/models/Task.py Task.update_status_from_child 20 3 0 10 1 80%
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.failure_details 2 0 0 0 0 100%
backend/django/core/auxiliary/models/Task.py Task.set_failure_with_exception 6 0 0 4 2 80%
backend/django/core/auxiliary/models/Task.py (no function) 52 0 0 0 0 100%
backend/django/core/auxiliary/models/UploadSession.py UploadSession.clean 11 11 0 8 0 0%
backend/django/core/auxiliary/models/UploadSession.py (no function) 40 0 0 0 0 100%
backend/django/core/auxiliary/models/__init__.py (no function) 22 0 0 0 0 100%
backend/django/core/auxiliary/on_delete.py _protect_unless_owner_is_being_deleted 4 0 0 2 0 100%
backend/django/core/auxiliary/on_delete.py protect_current_state_unless_flowsheet_deleting 1 0 0 0 0 100%
backend/django/core/auxiliary/on_delete.py protect_root_grouping_unless_state_deleting 1 0 0 0 0 100%
backend/django/core/auxiliary/on_delete.py (no function) 4 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_info_saved 3 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 3 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_value_saved 3 0 0 0 0 100%
backend/django/core/auxiliary/property_events.py property_value_deleted 3 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 7 4 0 4 1 36%
backend/django/core/auxiliary/serializers/ControlValueSerializer.py (no function) 10 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) 7 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) 11 0 0 0 0 100%
backend/django/core/auxiliary/serializers/DataRowSerializer.py (no function) 7 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetCloneValidationSerializer.py (no function) 26 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetRevisionSerializer.py FlowsheetRevisionSerializer.get_display_label 3 0 0 2 0 100%
backend/django/core/auxiliary/serializers/FlowsheetRevisionSerializer.py CurrentFlowsheetStateSerializer.get_display_label 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetRevisionSerializer.py CreateFlowsheetRevisionSerializer.validate_label 4 1 0 2 1 67%
backend/django/core/auxiliary/serializers/FlowsheetRevisionSerializer.py UpdateFlowsheetRevisionSerializer.validate_label 4 1 0 2 1 67%
backend/django/core/auxiliary/serializers/FlowsheetRevisionSerializer.py (no function) 50 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer._get_user_access_row 9 1 0 6 1 87%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.get_access 21 1 0 6 1 93%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.get_economics_study_count 6 1 0 4 1 80%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.get_rootGrouping 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.get_buildVersion 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.get_buildDate 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.create 6 0 0 0 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.update 5 2 0 0 0 60%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py FlowsheetSerializer.validate 8 0 0 4 0 100%
backend/django/core/auxiliary/serializers/FlowsheetSerializer.py (no function) 48 0 0 0 0 100%
backend/django/core/auxiliary/serializers/IndexedItemSerializer.py (no function) 9 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) 8 0 0 0 0 100%
backend/django/core/auxiliary/serializers/MLModelSerializer.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/serializers/MonitoringTableSerializer.py MonitoringTablePropertySerializer.validate 8 5 0 6 1 29%
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) 18 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) 11 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProcessPathSerializer.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py ProjectFolderSerializer.__init__ 5 0 0 2 0 100%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py ProjectFolderSerializer.get_project_count 1 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py ProjectFolderSerializer.validate_name 4 2 0 0 0 50%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py ProjectFolderSerializer.validate_parent 7 1 0 4 1 82%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py ProjectFolderSerializer.create 8 1 0 0 0 88%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py ProjectFolderSerializer.update 8 2 0 2 1 70%
backend/django/core/auxiliary/serializers/ProjectFolderSerializer.py (no function) 46 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.__init__ 8 0 0 4 0 100%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.get_savedDate 3 1 0 2 1 60%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.get_active_flowsheet_rootGrouping 5 2 0 4 2 56%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.create 18 2 0 4 0 91%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.validate_folder 15 5 0 12 3 63%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.update 6 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.to_representation 6 0 0 2 0 100%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectSerializer.validate 16 3 0 10 1 85%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectConfigSummarySerializer.get_is_active 2 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProjectSerializer.py ProjectDetailSerializer.get_configurations 3 0 0 0 0 100%
backend/django/core/auxiliary/serializers/ProjectSerializer.py (no function) 39 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) 30 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) 43 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) 12 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) 31 0 0 0 0 100%
backend/django/core/auxiliary/serializers/SolutionSerializer.py SolutionSerializer.get_name 3 0 0 0 0 100%
backend/django/core/auxiliary/serializers/SolutionSerializer.py (no function) 11 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 _completed_csv_lifecycle_days 5 1 0 2 1 71%
backend/django/core/auxiliary/services/csv_lifecycle.py csv_upload_lifecycle_rules 3 0 0 0 0 100%
backend/django/core/auxiliary/services/csv_lifecycle.py ensure_csv_upload_lifecycle_configuration 1 0 0 0 0 100%
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) 14 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/__init__.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py ProjectCloneContext.__post_init__ 4 2 0 2 1 50%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py ProjectCloneContext.register_flowsheet 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py CloneResult.copied 3 1 0 2 1 60%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py CloneResult.root_grouping 2 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _manager 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _inspect_clone_table_presence 20 1 0 6 1 92%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _is_state_owned 5 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _copy_settings_profiles 27 4 0 14 2 85%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _project_cost_curve_id 21 4 0 10 2 81%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _normalize_external_relation 22 7 0 14 3 67%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _build_copy 41 7 0 28 4 81%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _copy_model_rows 15 1 0 8 2 87%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _flush_deferred_relations 12 8 0 6 2 33%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _copy_many_to_many 20 2 0 14 2 88%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _remap_formula_text 11 1 0 4 1 87%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _remap_formula_text.replace_unit 5 1 0 2 1 71%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _remap_embedded_property_references 46 3 0 24 2 93%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _logical_reference 16 3 0 12 1 79%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _reference_owner_lineage 12 1 0 6 1 89%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _logical_reference_resolves 2 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _append_reference_warning 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _remap_economics_logical_references 32 0 0 18 1 98%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py finalize_project_clone 22 9 0 8 1 60%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py _rebuild_outputs_and_counters 18 0 0 10 1 96%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py clone_state 40 5 0 24 5 84%
backend/django/core/auxiliary/services/flowsheet_states/cloning.py (no function) 65 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/errors.py FlowsheetStateCloneError.__init__ 8 0 0 2 0 100%
backend/django/core/auxiliary/services/flowsheet_states/errors.py FlowsheetStateCloneError.is_user_repairable 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/errors.py FlowsheetStateCloneError.for_source_flowsheet 2 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/errors.py merge_clone_validation_errors 24 2 0 18 3 88%
backend/django/core/auxiliary/services/flowsheet_states/errors.py clone_validation_error_data 16 1 0 8 1 92%
backend/django/core/auxiliary/services/flowsheet_states/errors.py (no function) 27 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/module_subtree.py clone_module_subtree 27 2 0 14 4 85%
backend/django/core/auxiliary/services/flowsheet_states/module_subtree.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/new_flowsheet.py summarize_scenario_results 8 0 0 4 0 100%
backend/django/core/auxiliary/services/flowsheet_states/new_flowsheet.py clone_to_new_flowsheet 22 2 0 10 2 88%
backend/django/core/auxiliary/services/flowsheet_states/new_flowsheet.py create_project_from_template 6 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/new_flowsheet.py copy_project_data 29 3 0 16 4 84%
backend/django/core/auxiliary/services/flowsheet_states/new_flowsheet.py (no function) 24 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/registry.py ModelCloneContract.policy_for 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/registry.py _contract 11 0 0 8 0 100%
backend/django/core/auxiliary/services/flowsheet_states/registry.py FlowsheetStateCloneRegistry.__init__ 2 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/registry.py FlowsheetStateCloneRegistry.contract_for 5 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/registry.py FlowsheetStateCloneRegistry.policy_for 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/registry.py FlowsheetStateCloneRegistry.copy_models 20 2 0 14 1 91%
backend/django/core/auxiliary/services/flowsheet_states/registry.py FlowsheetStateCloneRegistry.validate_completeness 40 8 0 28 4 82%
backend/django/core/auxiliary/services/flowsheet_states/registry.py (no function) 35 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py _require_revision_enabled 2 1 0 2 1 50%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py has_active_tasks 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py _require_no_active_tasks 2 0 0 2 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py _prune_revisions_locked 4 0 0 2 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py _create_revision_locked 11 0 0 4 1 93%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py create_revision 7 1 0 2 1 78%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py list_revisions 8 0 0 4 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py rename_revision 9 2 0 0 0 78%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py delete_revision 7 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py restore_revision 21 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/revisions.py (no function) 43 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/validation.py formula_text_field_names 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/validation.py _manager 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/validation.py _readable_model_name 1 1 0 0 0 0%
backend/django/core/auxiliary/services/flowsheet_states/validation.py _safe_label 2 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_states/validation.py _formula_owner 13 8 0 6 1 32%
backend/django/core/auxiliary/services/flowsheet_states/validation.py _formula_rows 13 0 0 10 0 100%
backend/django/core/auxiliary/services/flowsheet_states/validation.py repair_legacy_formula_unit_references 36 6 0 24 7 78%
backend/django/core/auxiliary/services/flowsheet_states/validation.py validate_state_for_clone 29 2 0 18 2 91%
backend/django/core/auxiliary/services/flowsheet_states/validation.py (no function) 24 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py lock_flowsheet_content_mutation 4 1 0 2 1 67%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py activate_regular_flowsheet 15 4 0 4 0 79%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py touch_flowsheet_saved_date 6 0 0 2 0 100%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py delete_regular_flowsheet 11 1 0 6 1 88%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py convert_flowsheet_to_template 16 1 0 4 1 90%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _template_name 5 1 0 4 1 78%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py revert_flowsheet_template 12 2 0 6 2 78%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _lock_project_and_flowsheet 10 4 0 2 1 58%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _lock_template_transition_target 22 4 0 8 2 80%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _is_flowsheet_owned_by 3 0 0 2 0 100%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _set_locked_project_active_flowsheet 7 2 0 6 2 69%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _lock_latest_regular_replacement 1 0 0 0 0 100%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _replace_active_template_flowsheet 11 3 0 4 2 67%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py _activate_reverted_flowsheet_if_needed 6 1 0 4 1 80%
backend/django/core/auxiliary/services/flowsheet_template_transitions.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/services/ml_artifacts.py ml_artifact_is_referenced 6 2 0 2 1 62%
backend/django/core/auxiliary/services/ml_artifacts.py delete_ml_artifact_if_unreferenced 14 5 0 4 0 61%
backend/django/core/auxiliary/services/ml_artifacts.py (no function) 7 0 0 0 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py _snapshot_mapping 9 0 0 2 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py build_mapping_update_snapshot 1 1 0 0 0 0%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py build_ml_model_update_snapshot 2 0 0 0 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py _ml_model_has_restorable_state 1 0 0 0 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py stage_ml_model_update_snapshot 4 0 0 2 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py _mapping_owned_custom_property_ids 1 0 0 0 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py _delete_mapping_owned_custom_properties 2 0 0 2 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py clear_ml_model_column_mappings 3 0 0 0 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py _create_mapping_objects 30 3 0 14 3 86%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py create_column_mapping 8 0 0 2 0 100%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py replace_column_mapping 20 1 0 6 1 92%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py _restore_mapping_from_snapshot 10 1 0 4 1 86%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py restore_ml_model_update_snapshot 16 5 0 10 1 62%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py restore_mapping_update_snapshot 1 1 0 0 0 0%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py clear_mapping_update_snapshot 1 1 0 0 0 0%
backend/django/core/auxiliary/services/ml_column_mapping_updates.py (no function) 33 0 0 0 0 100%
backend/django/core/auxiliary/services/mss_input_data.py replace_mss_input_rows 11 0 0 6 0 100%
backend/django/core/auxiliary/services/mss_input_data.py _create_mss_input_row_batch 14 0 0 8 1 95%
backend/django/core/auxiliary/services/mss_input_data.py clear_mss_input_rows 3 0 0 0 0 100%
backend/django/core/auxiliary/services/mss_input_data.py mark_mss_input_rows_changed 11 2 0 6 2 76%
backend/django/core/auxiliary/services/mss_input_data.py mark_mss_input_scenarios_changed 11 1 0 6 1 88%
backend/django/core/auxiliary/services/mss_input_data.py _mark_economics_schedule_inputs_changed 2 0 0 0 0 100%
backend/django/core/auxiliary/services/mss_input_data.py (no function) 31 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py _set_span_attributes 3 0 0 4 1 86%
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 14 1 0 2 1 88%
backend/django/core/auxiliary/services/object_storage/s3.py _put_lifecycle_rule 4 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py _canonical_lifecycle_rules 1 0 0 0 0 100%
backend/django/core/auxiliary/services/object_storage/s3.py _is_obsolete_prefix_expiration_rule 6 1 0 4 1 80%
backend/django/core/auxiliary/services/object_storage/s3.py _ensure_lifecycle_rules_cached 22 3 0 10 2 84%
backend/django/core/auxiliary/services/object_storage/s3.py ensure_lifecycle_rules 1 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) 46 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 24 0 0 4 0 100%
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) 99 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 15 5 0 8 3 65%
backend/django/core/auxiliary/services/pinch_import.py _raise_if_completed_upload_expired 4 0 0 2 0 100%
backend/django/core/auxiliary/services/pinch_import.py enqueue_pinch_utility_import 13 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 50 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) 36 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folder_queries.py annotate_project_folder_subtree_counts 15 0 0 4 0 100%
backend/django/core/auxiliary/services/project_folder_queries.py list_active_project_folder_ancestors 8 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folder_queries.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py ProjectUpdateError.__init__ 2 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py _lock_project_folder_tree 4 1 0 2 1 67%
backend/django/core/auxiliary/services/project_folders.py normalize_project_folder_name 8 0 0 6 0 100%
backend/django/core/auxiliary/services/project_folders.py build_project_folder_adjacency 6 0 0 4 0 100%
backend/django/core/auxiliary/services/project_folders.py select_project_folder_subtree_ids 15 1 0 6 1 90%
backend/django/core/auxiliary/services/project_folders.py select_project_folder_ancestor_ids 15 2 0 6 2 81%
backend/django/core/auxiliary/services/project_folders.py _matching_sibling 1 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py _reactivate_folder 4 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py create_project_folder 21 7 0 12 0 67%
backend/django/core/auxiliary/services/project_folders.py rename_project_folder 14 3 0 4 1 78%
backend/django/core/auxiliary/services/project_folders.py lock_active_project_folder 4 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py _load_project_folder_ancestry 3 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py _load_project_folder_subtree 3 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py lock_project_folder_ancestry 8 1 0 2 1 80%
backend/django/core/auxiliary/services/project_folders.py reactivate_locked_project_folders 9 0 0 4 0 100%
backend/django/core/auxiliary/services/project_folders.py project_has_regular_active_flowsheet 3 1 0 2 1 60%
backend/django/core/auxiliary/services/project_folders.py _apply_project_bin_state 9 0 0 6 0 100%
backend/django/core/auxiliary/services/project_folders.py _lock_project_update_folders 16 0 0 6 0 100%
backend/django/core/auxiliary/services/project_folders.py _lock_fresh_project 7 1 0 2 1 78%
backend/django/core/auxiliary/services/project_folders.py _validate_locked_project_update 4 1 0 4 1 75%
backend/django/core/auxiliary/services/project_folders.py _persist_locked_project_update 11 0 0 6 0 100%
backend/django/core/auxiliary/services/project_folders.py apply_project_update 8 0 0 0 0 100%
backend/django/core/auxiliary/services/project_folders.py bin_project_folder 33 2 0 16 2 92%
backend/django/core/auxiliary/services/project_folders.py (no function) 58 0 0 0 0 100%
backend/django/core/auxiliary/services/result_object_table.py get_result_object_table 20 0 0 0 0 100%
backend/django/core/auxiliary/services/result_object_table.py _add_input_columns 12 1 0 6 1 89%
backend/django/core/auxiliary/services/result_object_table.py _add_output_columns 18 1 0 12 1 93%
backend/django/core/auxiliary/services/result_object_table.py _add_dynamic_output_values 4 0 0 4 0 100%
backend/django/core/auxiliary/services/result_object_table.py _input_column_key 3 0 0 2 0 100%
backend/django/core/auxiliary/services/result_object_table.py _normalize_column_label 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_object_table.py _page_link 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_object_table.py (no function) 52 0 0 0 0 100%
backend/django/core/auxiliary/services/result_series_identity.py result_series_identity 5 0 0 0 0 100%
backend/django/core/auxiliary/services/result_series_identity.py _ordered_indexed_items 6 2 0 0 0 67%
backend/django/core/auxiliary/services/result_series_identity.py result_series_identity_payload 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_series_identity.py _stable_indexed_item_key 5 2 0 4 2 56%
backend/django/core/auxiliary/services/result_series_identity.py _property_value_unit 8 0 0 6 0 100%
backend/django/core/auxiliary/services/result_series_identity.py (no function) 38 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/__init__.py (no function) 0 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/aggregation.py aggregate_values 14 2 0 10 2 83%
backend/django/core/auxiliary/services/result_summary/aggregation.py linear_percentile 15 2 0 6 2 81%
backend/django/core/auxiliary/services/result_summary/aggregation.py _decimal_values 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/aggregation.py _decimal_value 4 1 0 2 1 67%
backend/django/core/auxiliary/services/result_summary/aggregation.py (no function) 13 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py ResultSummaryCacheUnavailable.__init__ 3 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py invalidate_result_summary_cache_for_scenario 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py build_result_summary_cache_for_successful_mss_task 29 5 0 10 2 82%
backend/django/core/auxiliary/services/result_summary/cache.py get_cached_result_summaries 11 1 0 4 1 87%
backend/django/core/auxiliary/services/result_summary/cache.py get_result_summaries_with_cache 16 0 0 10 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py get_result_summary_status 4 1 0 2 1 67%
backend/django/core/auxiliary/services/result_summary/cache.py _should_build_cache 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _solved_simulation_object_ids 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _cache_belongs_to_newer_task 1 1 0 0 0 0%
backend/django/core/auxiliary/services/result_summary/cache.py _build_cache_for_simulation_object 37 12 0 8 4 64%
backend/django/core/auxiliary/services/result_summary/cache.py _source_solution_diagnostics 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _has_source_solutions 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _get_cache_row 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _send_calculating_notification 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _send_available_notification 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache.py _send_failed_notification 2 2 0 0 0 0%
backend/django/core/auxiliary/services/result_summary/cache.py (no function) 41 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache_payloads.py cached_summary_to_result_summary 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/cache_payloads.py (no function) 26 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/contracts.py ResultHistogramOptions.default_empty_histogram_bins 3 1 0 2 1 60%
backend/django/core/auxiliary/services/result_summary/contracts.py ResultHistogramOptions.bin_count_for 3 0 0 2 0 100%
backend/django/core/auxiliary/services/result_summary/contracts.py ResultSummaryRequest.parse_histogram_bin_counts 10 3 0 6 1 75%
backend/django/core/auxiliary/services/result_summary/contracts.py ResultSummaryRequest.histogram_options_for 4 0 0 4 1 88%
backend/django/core/auxiliary/services/result_summary/contracts.py (no function) 75 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/histograms.py histogram_bins 18 1 0 8 1 92%
backend/django/core/auxiliary/services/result_summary/histograms.py cached_histogram_variants 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/histograms.py cached_histogram_bins_for 9 3 0 8 3 65%
backend/django/core/auxiliary/services/result_summary/histograms.py (no function) 13 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/series_queries.py SteadyStateResultSeries.__init__ 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/series_queries.py steady_state_property_values 2 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/series_queries.py steady_state_result_series 15 3 0 8 1 83%
backend/django/core/auxiliary/services/result_summary/series_queries.py steady_state_result_rows 8 0 0 2 0 100%
backend/django/core/auxiliary/services/result_summary/series_queries.py safe_property_value_key 4 4 0 0 0 0%
backend/django/core/auxiliary/services/result_summary/series_queries.py result_summary_values 12 1 0 6 2 83%
backend/django/core/auxiliary/services/result_summary/series_queries.py (no function) 28 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/stats.py finite_values 11 3 0 6 2 71%
backend/django/core/auxiliary/services/result_summary/stats.py format_metric_value 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/stats.py result_stats 17 1 0 6 1 91%
backend/django/core/auxiliary/services/result_summary/stats.py metric_targets 1 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/stats.py _first_target 4 1 0 2 1 67%
backend/django/core/auxiliary/services/result_summary/stats.py _target_for_metric 4 0 0 2 0 100%
backend/django/core/auxiliary/services/result_summary/stats.py _exact_target 5 0 0 2 0 100%
backend/django/core/auxiliary/services/result_summary/stats.py _closest_target 6 1 0 2 1 75%
backend/django/core/auxiliary/services/result_summary/stats.py (no function) 16 0 0 0 0 100%
backend/django/core/auxiliary/services/result_summary/summaries.py get_result_summaries 9 0 0 4 0 100%
backend/django/core/auxiliary/services/result_summary/summaries.py build_cached_result_summaries 1 1 0 0 0 0%
backend/django/core/auxiliary/services/result_summary/summaries.py build_cached_result_summaries_with_errors 14 2 0 2 0 88%
backend/django/core/auxiliary/services/result_summary/summaries.py _steady_state_result_summaries 10 0 0 2 0 100%
backend/django/core/auxiliary/services/result_summary/summaries.py (no function) 12 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 17 6 0 10 4 63%
backend/django/core/auxiliary/services/scenario_import.py _raise_if_completed_upload_expired 4 0 0 2 0 100%
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 13 0 0 4 0 100%
backend/django/core/auxiliary/services/scenario_import.py process_scenario_import 58 9 0 20 8 78%
backend/django/core/auxiliary/services/scenario_import.py process_scenario_import.iter_mss_input_rows 9 3 0 4 1 69%
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) 28 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py is_mss_time_series 1 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py get_mss_time_value 3 0 0 2 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py mss_time_series_settings_snapshot 1 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py mss_time_series_settings_changed 1 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py handle_mss_time_series_configuration_changed 2 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py _mark_economics_schedule_configuration_changed 2 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py _invalidate_result_summary_cache_for_time_series_settings 2 0 0 0 0 100%
backend/django/core/auxiliary/services/scenario_time_series.py (no function) 9 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 _set_span_attributes 3 0 0 4 0 100%
backend/django/core/auxiliary/services/uploads.py _csv_expires_at 1 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 10 3 0 4 1 71%
backend/django/core/auxiliary/services/uploads.py initiate_upload_session 34 6 0 20 6 78%
backend/django/core/auxiliary/services/uploads.py complete_upload 17 3 0 4 2 76%
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 _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 12 1 0 4 1 88%
backend/django/core/auxiliary/services/uploads.py attach_upload_to_ml_model 36 4 0 12 4 83%
backend/django/core/auxiliary/services/uploads.py cleanup_upload_sessions 23 1 0 8 1 94%
backend/django/core/auxiliary/services/uploads.py (no function) 53 0 0 0 0 100%
backend/django/core/auxiliary/signals.py delete_ml_results_on_delete 3 0 0 4 0 100%
backend/django/core/auxiliary/signals.py (no function) 8 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py UnitOpObjectTypes.__init__ 9 2 0 4 2 69%
backend/django/core/auxiliary/unit_op_object_types.py UnitOpObjectTypes.__getattr__ 4 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py UnitOpObjectTypes.choices 1 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py UnitOpObjectTypes.values 1 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py UnitOpObjectTypes.is_known 1 1 0 0 0 0%
backend/django/core/auxiliary/unit_op_object_types.py load_unit_op_object_type_entries_from_json_dir 6 0 0 2 0 100%
backend/django/core/auxiliary/unit_op_object_types.py load_unit_op_object_types_from_json_dir 1 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py load_unit_op_object_types 1 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py load_heat_exchange_object_types 2 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py _duplicates 7 1 0 4 1 82%
backend/django/core/auxiliary/unit_op_object_types.py _unit_op_config_dir 1 0 0 0 0 100%
backend/django/core/auxiliary/unit_op_object_types.py (no function) 26 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_preview 9 3 0 2 1 64%
backend/django/core/auxiliary/views/CopyFlowsheetView.py copy_flowsheet 30 3 0 10 2 88%
backend/django/core/auxiliary/views/CopyFlowsheetView.py (no function) 20 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) 33 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 27 6 0 6 1 79%
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 36 6 0 10 2 83%
backend/django/core/auxiliary/views/UploadMSSData.py (no function) 19 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) 16 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 DataCellViewSet.perform_create 2 2 0 0 0 0%
backend/django/core/auxiliary/viewsets/DataCellViewSet.py DataCellViewSet.perform_update 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataCellViewSet.py DataCellViewSet.perform_destroy 3 3 0 0 0 0%
backend/django/core/auxiliary/viewsets/DataCellViewSet.py (no function) 11 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.perform_create 2 2 0 0 0 0%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py DataColumnViewSet.perform_update 3 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py DataColumnViewSet.perform_destroy 3 3 0 0 0 0%
backend/django/core/auxiliary/viewsets/DataColumnViewSet.py DataColumnViewSet.download_tag_mappings 2 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) 22 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 5 0 14 4 80%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.object_table 13 5 0 2 1 60%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.output_graph 31 3 0 12 1 91%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py DataRowViewSet.output_summary 15 5 0 2 1 65%
backend/django/core/auxiliary/viewsets/DataRowViewSet.py (no function) 53 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 19 4 0 4 0 74%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py FlowsheetTemplateViewSet.create_from_flowsheet_template 8 1 0 0 0 88%
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 4 0 0 0 71%
backend/django/core/auxiliary/viewsets/FlowsheetTemplateViewSet.py (no function) 40 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._accessible_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet._with_economics_study_count 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet._filter_to_current_user_preview_access 3 1 0 2 1 60%
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 11 0 0 6 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.card_previews 28 3 0 12 1 90%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.retrieve 14 2 0 6 0 90%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.create 16 0 0 8 1 96%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet._is_read_only_sharee 5 1 0 2 1 71%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.update 5 1 0 4 1 78%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.perform_update 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.partial_update 5 0 0 4 0 100%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.destroy 10 4 0 2 0 67%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.set_active 11 8 0 4 1 27%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.revisions 26 5 0 6 1 81%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.delete_revision 22 4 0 6 0 86%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py FlowsheetViewSet.restore_revision 11 1 0 2 1 85%
backend/django/core/auxiliary/viewsets/FlowsheetViewSet.py (no function) 101 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.get_flowsheet_from_request 7 3 0 2 1 56%
backend/django/core/auxiliary/viewsets/MLColumnMappingsViewSet.py MLColumnMappingsViewSet.bulk_create_column_mapping 13 3 0 0 0 77%
backend/django/core/auxiliary/viewsets/MLColumnMappingsViewSet.py MLColumnMappingsViewSet.replace_column_mapping 14 2 0 0 0 86%
backend/django/core/auxiliary/viewsets/MLColumnMappingsViewSet.py (no function) 38 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 UploadModelSerializer.validate_json_data 7 2 0 6 2 69%
backend/django/core/auxiliary/viewsets/MLViewSet.py PatchMLModelSerializer.to_internal_value 4 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py PatchMLModelSerializer.validate 6 1 0 4 1 80%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLWizardTransitionSerializer.validate 6 2 0 4 2 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 9 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.partial_update 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.transition_wizard 47 24 0 16 5 51%
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 23 12 0 10 2 45%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.upload_model 28 2 0 0 0 93%
backend/django/core/auxiliary/viewsets/MLViewSet.py MLViewSet.create_surrogate_model 12 5 0 2 1 57%
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 8 2 0 4 1 75%
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) 97 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/ProjectFolderViewSet.py ProjectFolderViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectFolderViewSet.py ProjectFolderViewSet.workspace 22 0 0 4 0 100%
backend/django/core/auxiliary/viewsets/ProjectFolderViewSet.py ProjectFolderViewSet.destinations 10 0 0 2 1 92%
backend/django/core/auxiliary/viewsets/ProjectFolderViewSet.py ProjectFolderViewSet._serialize_destination_page 17 1 0 8 1 92%
backend/django/core/auxiliary/viewsets/ProjectFolderViewSet.py ProjectFolderViewSet.bin 5 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectFolderViewSet.py (no function) 32 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.get_serializer_class 3 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._base_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._detail_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._owned_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._shared_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._all_visible_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._project_list_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.get_queryset 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._get_owned_project 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._validate_project_share 6 0 0 6 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._shared_project_users 1 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.list 17 2 0 4 0 90%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._filter_project_list 22 4 0 14 2 83%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.retrieve 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.create 4 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.partial_update 9 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet._partial_update_shared_project 13 2 0 4 0 88%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.share_project 16 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.list_shared_users 6 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.remove_user 14 2 0 2 1 81%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.update_shared_user_access 17 0 0 2 0 100%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.copy_preview 7 2 0 0 0 71%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py ProjectViewSet.copy 19 2 0 6 2 84%
backend/django/core/auxiliary/viewsets/ProjectViewSet.py (no function) 77 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.update 7 1 0 2 1 78%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py PropertyInfoViewSet.perform_destroy 5 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/PropertyInfoViewSet.py PropertyInfoViewSet.destroy 7 1 0 2 1 78%
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) 29 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 16 3 0 6 1 73%
backend/django/core/auxiliary/viewsets/PropertySetViewSet.py SchemaPropertySetViewSet.normalize_compound_values 21 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.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) 32 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.destroy 7 1 0 2 1 78%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.update 14 7 0 2 1 50%
backend/django/core/auxiliary/viewsets/PropertyValueViewSet.py PropertyValueViewSet.auto_replace 7 0 0 2 1 89%
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) 28 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/RecycleDataViewSet.py RecycleDataViewSet.get_queryset 14 1 0 6 1 90%
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 (no function) 17 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 20 1 0 8 1 93%
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 get_molecular_weight 8 2 0 4 1 75%
backend/django/core/auxiliary/viewsets/compound_conversions.py compound_db_to_molar_flow 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/compound_conversions.py compound_db_to_mass_flow 2 0 0 0 0 100%
backend/django/core/auxiliary/viewsets/compound_conversions.py get_property_set_compounds 2 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 4 0 0 4 1 88%
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 12 1 0 4 2 81%
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) 16 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 5 0 0 2 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 14 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 project_access_filter 7 0 0 2 0 100%
backend/django/core/managers.py _get_or_compute_access_state 9 1 0 4 1 85%
backend/django/core/managers.py _require_write_access 5 0 0 4 0 100%
backend/django/core/managers.py _require_captured_state_current 7 1 0 4 1 82%
backend/django/core/managers.py AccessControlQuerySet._require_write_access 7 0 0 2 0 100%
backend/django/core/managers.py AccessControlQuerySet.update 7 1 0 4 1 82%
backend/django/core/managers.py AccessControlQuerySet.delete 3 0 0 0 0 100%
backend/django/core/managers.py AccessControlQuerySet.bulk_update 10 1 0 2 1 83%
backend/django/core/managers.py AccessControlManager._require_write_access 2 0 0 0 0 100%
backend/django/core/managers.py AccessControlManager.create 14 0 0 6 0 100%
backend/django/core/managers.py AccessControlManager.bulk_create 18 1 0 6 1 92%
backend/django/core/managers.py AccessControlManager.get_queryset 18 1 0 8 1 92%
backend/django/core/managers.py IdentityAccessControlQuerySet._require_write_access 5 0 0 2 0 100%
backend/django/core/managers.py IdentityAccessControlQuerySet.update 7 1 0 2 1 78%
backend/django/core/managers.py IdentityAccessControlQuerySet.delete 3 0 0 0 0 100%
backend/django/core/managers.py IdentityAccessControlQuerySet.bulk_update 7 7 0 2 0 0%
backend/django/core/managers.py IdentityAccessControlManager.create 11 0 0 4 0 100%
backend/django/core/managers.py IdentityAccessControlManager.bulk_create 17 0 0 6 1 96%
backend/django/core/managers.py IdentityAccessControlManager.get_queryset 14 2 0 8 2 82%
backend/django/core/managers.py AllFlowsheetStatesQuerySet._require_lifecycle_write 2 0 0 2 0 100%
backend/django/core/managers.py AllFlowsheetStatesQuerySet.create 2 0 0 0 0 100%
backend/django/core/managers.py AllFlowsheetStatesQuerySet.bulk_create 2 0 0 0 0 100%
backend/django/core/managers.py AllFlowsheetStatesQuerySet.update 2 0 0 0 0 100%
backend/django/core/managers.py AllFlowsheetStatesQuerySet.bulk_update 2 0 0 0 0 100%
backend/django/core/managers.py AllFlowsheetStatesQuerySet.update_or_create 2 2 0 0 0 0%
backend/django/core/managers.py AllFlowsheetStatesQuerySet.delete 2 0 0 0 0 100%
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 ProjectAccessControlQuerySet._require_write_access 5 2 0 2 1 57%
backend/django/core/managers.py ProjectAccessControlQuerySet.update 2 0 0 0 0 100%
backend/django/core/managers.py ProjectAccessControlQuerySet.delete 2 2 0 0 0 0%
backend/django/core/managers.py ProjectAccessControlQuerySet.bulk_update 2 2 0 0 0 0%
backend/django/core/managers.py ProjectAccessControlManager._context_project_id 4 0 0 2 0 100%
backend/django/core/managers.py ProjectAccessControlManager._require_write_access 8 3 0 6 3 57%
backend/django/core/managers.py ProjectAccessControlManager.create 8 0 0 2 0 100%
backend/django/core/managers.py ProjectAccessControlManager.bulk_create 9 9 0 4 0 0%
backend/django/core/managers.py ProjectAccessControlManager.get_queryset 15 1 0 8 1 91%
backend/django/core/managers.py UserAccessControlManager.create 5 0 0 2 0 100%
backend/django/core/managers.py UserAccessControlManager.bulk_create 6 6 0 4 0 0%
backend/django/core/managers.py UserAccessControlManager.get_queryset 3 0 0 0 0 100%
backend/django/core/managers.py include_soft_deleted 3 3 0 2 0 0%
backend/django/core/managers.py (no function) 77 0 0 0 0 100%
backend/django/core/models.py (no function) 1 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 ViewSetPagination.get_paginated_response_schema 4 0 0 0 0 100%
backend/django/core/pagination.py ClampedViewSetPagination.get_page_number 6 2 0 0 0 67%
backend/django/core/pagination.py (no function) 8 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) 23 0 0 0 0 100%
backend/django/core/plots/PlotSerializer.py (no function) 23 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) 59 0 0 0 0 100%
backend/django/core/serializer_base.py StableFlowsheetIdentityField.get_attribute 1 0 0 0 0 100%
backend/django/core/serializer_base.py StableFlowsheetIdentityField.to_representation 6 0 0 2 0 100%
backend/django/core/serializer_base.py StableFlowsheetIdentityField.to_internal_value 11 3 0 4 1 73%
backend/django/core/serializer_base.py StateOwnedModelSerializer.get_field_names 6 0 0 4 0 100%
backend/django/core/serializer_base.py (no function) 12 0 0 0 0 100%
backend/django/core/state_validation.py model_has_flowsheet_state 5 0 0 0 0 100%
backend/django/core/state_validation.py validate_state_owned_relations 27 0 0 20 0 100%
backend/django/core/state_validation.py validate_state_owned_relations_bulk 31 2 0 20 2 92%
backend/django/core/state_validation.py validate_state_mutation 17 1 0 10 1 93%
backend/django/core/state_validation.py validate_state_owned_relation_update 28 4 0 22 3 86%
backend/django/core/state_validation.py validate_state_owned_relations_before_save 4 1 0 2 1 67%
backend/django/core/state_validation.py validate_state_owned_delete 7 0 0 6 0 100%
backend/django/core/state_validation.py validate_state_owned_many_to_many 14 0 0 10 0 100%
backend/django/core/state_validation.py (no function) 16 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 reject_historical_revision_write 2 0 0 2 0 100%
backend/django/core/validation.py _api_exception_json_response 10 2 0 4 1 79%
backend/django/core/validation.py api_view_validate 4 0 0 0 0 100%
backend/django/core/validation.py api_view_validate._wrapped_view 10 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 36 5 0 16 1 88%
backend/django/core/validation.py get_current_flowsheet 1 0 0 0 0 100%
backend/django/core/validation.py write_access_checks_are_bypassed 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 13 0 0 4 0 100%
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 26 3 0 18 3 86%
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) 44 0 0 0 0 100%
backend/django/core/viewset.py HistoricalRevisionWriteGuardMixin.initial 3 0 0 0 0 100%
backend/django/core/viewset.py ContextMixin.initial 25 2 0 6 2 87%
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) 13 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) 17 0 0 0 0 100%
backend/django/diagnostics/models/__init__.py (no function) 1 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) 12 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 56 3 0 36 4 92%
backend/django/flowsheetInternals/graphicData/logic/make_group.py create_group_boundary_port_anchor_placements 24 7 0 12 4 69%
backend/django/flowsheetInternals/graphicData/logic/make_group.py get_group_visible_from_parent 6 0 0 4 0 100%
backend/django/flowsheetInternals/graphicData/logic/make_group.py propagate_streams 28 3 0 20 3 88%
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) 15 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/logic/ungroup.py ungroup 16 0 0 10 0 100%
backend/django/flowsheetInternals/graphicData/logic/ungroup.py (no function) 5 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/models/__init__.py (no function) 1 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) 24 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 6 1 0 2 1 75%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_anchor_placements_for_graphics 9 0 0 2 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_connections_for_graphics 23 0 0 10 0 100%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_connections_for_graphics.get_placement_data 6 1 0 4 1 80%
backend/django/flowsheetInternals/graphicData/models/groupingModel.py Grouping.get_connections_for_graphics.add_connection 2 0 0 0 0 100%
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_graphic_objects 8 1 0 6 1 86%
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 0 0 0 0 100%
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) 55 0 3 0 0 100%
backend/django/flowsheetInternals/graphicData/models/portAnchorPlacementModel.py (no function) 25 0 5 0 0 100%
backend/django/flowsheetInternals/graphicData/routers.py (no function) 11 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 4 0 6 2 53%
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) 21 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/serializers/portAnchorPlacementSerializer.py (no function) 8 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) 26 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 8 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GraphicObjectViewSet.py (no function) 39 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 11 11 0 2 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.create_custom_group 11 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.partial_update 40 13 0 16 7 61%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.destroy 5 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.make_group 14 4 0 2 1 69%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.move_selection 19 3 0 4 1 83%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.delete_selected_objects 13 3 0 2 1 73%
backend/django/flowsheetInternals/graphicData/viewsets/GroupingViewSet.py GroupingViewSet.ungroup 13 3 0 0 0 77%
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) 69 0 0 0 0 100%
backend/django/flowsheetInternals/graphicData/viewsets/PortAnchorPlacementViewSet.py PortAnchorPlacementViewSet.get_queryset 5 1 0 2 1 71%
backend/django/flowsheetInternals/graphicData/viewsets/PortAnchorPlacementViewSet.py PortAnchorPlacementViewSet.list 1 1 0 0 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/PortAnchorPlacementViewSet.py PortAnchorPlacementViewSet.create 1 1 0 0 0 0%
backend/django/flowsheetInternals/graphicData/viewsets/PortAnchorPlacementViewSet.py (no function) 14 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 0 100%
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 UnitopsConfig.ready 3 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/apps.py (no function) 5 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) 6 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/json_loader.py _runtime_idaes_adapter 9 0 0 6 1 93%
backend/django/flowsheetInternals/unitops/config/json_loader.py _runtime_unit_op_config 4 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/config/json_loader.py load_unit_op_config_json 6 2 0 0 0 67%
backend/django/flowsheetInternals/unitops/config/json_loader.py load_unit_op_configuration_from_json_dir 14 1 0 8 2 86%
backend/django/flowsheetInternals/unitops/config/json_loader.py load_unit_op_configuration 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/json_loader.py _runtime_graphic_object 7 0 0 6 1 92%
backend/django/flowsheetInternals/unitops/config/json_loader.py _runtime_adapter_arg 29 0 0 28 1 98%
backend/django/flowsheetInternals/unitops/config/json_loader.py _runtime_schema_port_mapping 5 0 0 4 1 89%
backend/django/flowsheetInternals/unitops/config/json_loader.py _runtime_port_adapter 17 1 0 16 2 91%
backend/django/flowsheetInternals/unitops/config/json_loader.py _runtime_property_adapter 5 0 0 4 1 89%
backend/django/flowsheetInternals/unitops/config/json_loader.py _validate_trusted_constructor_path 5 2 0 4 2 56%
backend/django/flowsheetInternals/unitops/config/json_loader.py _schema_instance 4 1 0 2 1 67%
backend/django/flowsheetInternals/unitops/config/json_loader.py _constant_ref 4 2 0 0 0 50%
backend/django/flowsheetInternals/unitops/config/json_loader.py (no function) 39 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/variant_families.py load_unit_op_variant_families_from_json_dir 17 2 0 10 2 85%
backend/django/flowsheetInternals/unitops/config/variant_families.py load_unit_op_variant_families 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/config/variant_families.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) 5 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/FlowsheetEditOperation.py (no function) 38 0 0 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 32 0 0 10 0 100%
backend/django/flowsheetInternals/unitops/models/Port.py (no function) 30 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) 74 0 8 0 0 100%
backend/django/flowsheetInternals/unitops/models/__init__.py (no function) 4 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) 24 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._restore_object_ids 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/models/delete_factory.py DeleteFactory.run_delete 53 4 0 40 4 91%
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 28 0 0 20 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 should_stop_downstream_tracking_at_port 1 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) 11 0 3 0 0 100%
backend/django/flowsheetInternals/unitops/models/property_package_propogation.py _starting_streams 3 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/property_package_propogation.py propogate_property_package 10 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/models/property_package_propogation.py (no function) 5 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 54 1 0 26 1 98%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_stream_at_port 15 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.default_anchor_index 4 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/models/simulation_object_factory.py SimulationObjectFactory.create_default_port_anchor_placements 15 4 0 10 2 76%
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) 47 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) 11 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/FlowsheetEditOperationSerializer.py (no function) 17 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/PortSerializer.py PortSerializer.update 22 0 0 16 2 95%
backend/django/flowsheetInternals/unitops/serializers/PortSerializer.py (no function) 12 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectSerializer.create 15 3 0 2 1 76%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectSerializer.to_representation 7 0 0 2 1 89%
backend/django/flowsheetInternals/unitops/serializers/SimulationObjectSerializer.py SimulationObjectSerializer.save 9 0 0 4 0 100%
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) 34 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/serializers/__init__.py (no function) 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/__init__.py (no function) 0 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/checks.py check_flowsheet_history_scope 17 5 0 12 3 72%
backend/django/flowsheetInternals/unitops/services/edit_operations/checks.py (no function) 7 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/context.py get_active_recorder 3 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/context.py history_transition_in_progress 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/context.py (no function) 7 0 2 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/lifecycle.py before_replay_deletions 21 1 0 14 1 94%
backend/django/flowsheetInternals/unitops/services/edit_operations/lifecycle.py after_replay 14 0 0 10 1 96%
backend/django/flowsheetInternals/unitops/services/edit_operations/lifecycle.py (no function) 9 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryMixin.get_history_label 4 1 0 2 1 67%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryMixin.validate_history_model 3 1 0 2 1 60%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryMixin.get_history_flowsheet 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryCreateMixin.get_history_flowsheet_for_create 9 2 0 4 2 69%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryCreateMixin.create 7 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryUpdateMixin.update 13 1 0 2 1 87%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py FlowsheetHistoryDestroyMixin.destroy 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mixins.py (no function) 26 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mutation.py FlowsheetMutation.add_to_response 6 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mutation.py FlowsheetMutation.add_to_data 3 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/mutation.py flowsheet_edit 17 4 0 6 1 70%
backend/django/flowsheetInternals/unitops/services/edit_operations/mutation.py (no function) 18 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _json_value 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py snapshot_instance 4 1 0 2 1 67%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _load_instance 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder.__init__ 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder._validate_owner 8 2 0 4 2 67%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder.record_before 8 1 0 4 1 83%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder.record_created 12 4 0 4 2 62%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder.record_after 12 2 0 4 2 75%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder.record_deleted 12 4 0 4 2 62%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder._payload_change 17 1 0 10 1 93%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py FlowsheetChangeRecorder.build_transition 11 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _active_for 4 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _history_pre_save 6 0 0 4 1 90%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _history_post_save 9 1 0 6 1 87%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _history_pre_delete 11 0 0 10 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _history_post_delete 3 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _through_rows 7 0 0 2 1 89%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py _history_m2m_changed 10 3 0 10 1 70%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py connect_history_signals 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py tracked_queryset_update 12 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py tracked_bulk_create 9 1 0 6 1 87%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py tracked_bulk_update 12 0 0 8 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/recorder.py (no function) 43 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _python_value 3 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _deserialize_fields 5 1 0 2 1 71%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _validate_create_identity 3 1 0 2 1 60%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _normalize_changes 62 12 0 40 12 76%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _normalize_changes.pending_owner 24 4 0 14 5 76%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _normalize_changes.pending_state 24 4 0 14 5 76%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _normalize_changes.validate_foreign_keys 28 3 0 18 2 89%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _dependency_ranks 6 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _dependency_ranks.rank 9 1 0 4 1 85%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _apply_delete 8 1 0 4 1 83%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _apply_create 6 1 0 4 1 80%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py _apply_update 3 1 0 2 1 60%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py apply_operation_payload 13 0 0 6 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/replay.py (no function) 19 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py HistoryModelSpec.label 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py HistoryModelSpec.field_names 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _is_primary 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _is_dependent 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _tracked_scope 5 0 0 4 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _is_tracked_through_model 5 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _replayable_fields 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py history_model_specs 16 0 0 8 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py get_history_model_spec 2 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _base_queryset 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py resolve_row_flowsheet_id 18 4 0 12 2 73%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py resolve_row_flowsheet_state_id 16 1 0 12 2 89%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py resolve_instance_flowsheet_id 5 1 0 2 1 71%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py resolve_instance_flowsheet_state_id 5 1 0 2 1 71%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _property_owner_id 4 1 0 2 1 67%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py _property_value_owner_id 4 1 0 2 1 67%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py affected_ids_for_instance 61 1 0 46 7 93%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py affected_ids_for_instance.add_object 2 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py affected_ids_for_instance.add_group 2 0 0 2 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/scope.py (no function) 37 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/service.py _prune_locked_flowsheet_history 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/service.py record_edit_operation 10 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/service.py record_transition 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/service.py operation_response 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/service.py transition_operation 24 5 0 10 3 76%
backend/django/flowsheetInternals/unitops/services/edit_operations/service.py (no function) 18 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/services/edit_operations/types.py (no function) 7 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 23 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) 32 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/FlowsheetEditOperationViewSet.py FlowsheetEditOperationViewSet.get_queryset 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/FlowsheetEditOperationViewSet.py FlowsheetEditOperationViewSet.list 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/FlowsheetEditOperationViewSet.py FlowsheetEditOperationViewSet.undo 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/FlowsheetEditOperationViewSet.py FlowsheetEditOperationViewSet.redo 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/FlowsheetEditOperationViewSet.py (no function) 19 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.update 4 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.error_response 4 4 0 2 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 10 2 0 0 0 80%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.add_stream 7 2 0 0 0 71%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.convert_to_dn 17 3 0 4 2 76%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.destroy 12 2 0 2 0 86%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py PortViewSet.restore_connections 46 46 0 14 0 0%
backend/django/flowsheetInternals/unitops/viewsets/PortViewSet.py (no function) 57 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.create 7 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.update 1 1 0 0 0 0%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.partial_update 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet._update_with_operation 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.destroy 4 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.switch_variant 28 2 0 12 4 85%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet._get_variant_family 4 1 0 4 1 75%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet._port_identity 1 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet._create_variant_replacement 5 0 0 0 0 100%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet._copy_variant_port_streams 12 0 0 8 1 95%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet._copy_variant_graphic_state 6 1 0 2 1 75%
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 14 5 0 0 0 64%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.add_port 21 8 0 6 2 56%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.merge_decision_nodes 13 13 0 0 0 0%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.add_expression 7 1 0 2 1 78%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.add_custom_property_template 12 3 0 2 1 71%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.restore 18 4 0 8 3 73%
backend/django/flowsheetInternals/unitops/viewsets/SimulationObjectViewSet.py SimulationObjectViewSet.duplicate_simulation_object 14 1 0 0 0 93%
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) 116 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 5 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/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/ml_adapters.py MLPropertiesAdapter.serialise 3 0 0 0 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py get_ml_properties 6 0 0 4 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py JSONModelAdapter.serialise 2 0 0 0 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py IDAdapter.serialise 3 0 0 0 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py get_id_mappings 13 0 0 6 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py UnitopNamesAdapter.serialise 3 0 0 0 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py get_unitop_names 5 0 0 2 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py MLPortListAdapter.__init__ 1 0 0 0 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py MLPortListAdapter.serialise 8 0 0 4 0 100%
backend/django/idaes_factory/adapters/ml_adapters.py (no function) 22 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 43 0 0 24 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 3 0 22 2 87%
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) 11 0 2 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 _is_boundary_stream 2 0 0 0 0 100%
backend/django/idaes_factory/adapters/stream_properties.py _is_boundary_stream_for_current_group 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 13 0 0 10 0 100%
backend/django/idaes_factory/adapters/stream_properties.py (no function) 9 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 _task_targets_current_state 1 0 0 0 0 100%
backend/django/idaes_factory/endpoints.py _create_auto_revision_after_solve 17 1 0 4 1 90%
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 23 1 0 4 1 93%
backend/django/idaes_factory/endpoints.py start_multi_steady_state_solve_event 18 3 0 2 1 80%
backend/django/idaes_factory/endpoints.py dispatch_multi_solves 43 8 0 14 3 77%
backend/django/idaes_factory/endpoints.py start_ml_training_event 24 0 0 8 3 91%
backend/django/idaes_factory/endpoints.py _send_task_notifications 15 0 0 8 1 96%
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 41 5 0 20 4 85%
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 57 12 0 22 6 77%
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 17 2 0 10 2 85%
backend/django/idaes_factory/endpoints.py _settle_build_state_task_from_completion 26 4 0 10 4 78%
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 19 2 0 6 3 80%
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) 101 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 1 0 6 1 88%
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_state 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 8 0 0 6 0 100%
backend/django/idaes_factory/idaes_factory.py _convert_solved_value 3 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory.py store_properties_schema 46 0 0 16 0 100%
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) 59 0 0 0 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.__init__ 18 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.load 6 0 0 2 0 100%
backend/django/idaes_factory/idaes_factory_context.py IdaesFactoryContext.has_loaded_simulation_object 5 1 0 4 1 78%
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) 40 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) 10 0 0 0 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_project_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 29 6 0 8 3 76%
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) 15 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__ 9 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   34369 4298 109 8952 1521 84%

No items found using the specified filter.