Coverage report: 100%

Files Functions Classes

coverage.py v7.10.5, created at 2025-08-28 18:56 +0000

File function statements missing excluded coverage
app/__init__.py (no function) 0 0 0 100%
app/fitting.py normalize_to_unit 14 0 0 100%
app/fitting.py Fit.__init__ 19 0 0 100%
app/fitting.py Fit.list_to_dicts 7 0 0 100%
app/fitting.py Fit.error_function 5 0 0 100%
app/fitting.py Fit.fit 3 0 0 100%
app/fitting.py Fit.calculate_rss 3 0 0 100%
app/fitting.py Fit.calculate_fits 1 0 0 100%
app/fitting.py (no function) 14 0 0 100%
app/main.py reset_carrier_accumulation 2 0 0 100%
app/main.py reset_results 3 0 0 100%
app/main.py set_style 2 0 0 100%
app/main.py (no function) 331 0 4 100%
app/models.py Model.__init__ 15 0 0 100%
app/models.py Model.__eq__ 2 0 0 100%
app/models.py Model.get_parameter_label 3 0 0 100%
app/models.py Model.fixed_values 1 0 0 100%
app/models.py Model._rate_equations 1 0 0 100%
app/models.py Model._calculate_concentrations 16 0 0 100%
app/models.py Model._calculate_concentrations.rate_equation 2 0 0 100%
app/models.py Model.calculate_fit_quantity 1 0 0 100%
app/models.py Model.calculate_contributions 1 0 0 100%
app/models.py Model.get_carrier_accumulation 17 0 0 100%
app/models.py Model.get_carrier_concentrations 15 0 0 100%
app/models.py Model.fit 46 0 0 100%
app/models.py Model.grid_fitting 12 0 1 100%
app/models.py Model.get_contribution_recommendation 4 0 0 100%
app/models.py Model.get_contribution_recommendations 1 0 0 100%
app/models.py Model._generate_decays 11 0 0 100%
app/models.py BTModel.__init__ 10 0 0 100%
app/models.py BTModel._rate_equations 1 0 0 100%
app/models.py BTModel.calculate_trpl 3 0 0 100%
app/models.py BTModel.calculate_trmc 2 0 0 100%
app/models.py BTModel.get_contribution_recommendations 10 0 0 100%
app/models.py BTModelTRPL.__init__ 1 0 0 100%
app/models.py BTModelTRPL.calculate_fit_quantity 1 0 0 100%
app/models.py BTModelTRPL.calculate_contributions 5 0 0 100%
app/models.py BTModelTRPL.generate_decays 1 0 0 100%
app/models.py BTModelTRMC.__init__ 1 0 0 100%
app/models.py BTModelTRMC.calculate_fit_quantity 1 0 0 100%
app/models.py BTModelTRMC.calculate_contributions 5 0 0 100%
app/models.py BTModelTRMC.generate_decays 1 0 0 100%
app/models.py BTDModel.__init__ 10 0 0 100%
app/models.py BTDModel._rate_equations 7 0 0 100%
app/models.py BTDModel.calculate_trpl 3 0 0 100%
app/models.py BTDModel.calculate_trmc 2 0 0 100%
app/models.py BTDModel.get_contribution_recommendations 11 0 0 100%
app/models.py BTDModelTRPL.__init__ 1 0 0 100%
app/models.py BTDModelTRPL.calculate_fit_quantity 1 0 0 100%
app/models.py BTDModelTRPL.calculate_contributions 5 0 0 100%
app/models.py BTDModelTRPL.generate_decays 1 0 0 100%
app/models.py BTDModelTRMC.__init__ 1 0 0 100%
app/models.py BTDModelTRMC.calculate_fit_quantity 1 0 0 100%
app/models.py BTDModelTRMC.calculate_contributions 5 0 0 100%
app/models.py BTDModelTRMC.generate_decays 1 0 0 100%
app/models.py (no function) 85 0 0 100%
app/plot.py subplots 6 0 0 100%
app/plot.py plot_decays 21 0 0 100%
app/plot.py plot_carrier_concentrations 11 0 0 100%
app/plot.py parallel_plot 12 0 0 100%
app/plot.py _StreamlitHelpers.is_running_within_streamlit 0 0 7 100%
app/plot.py _StreamlitHelpers.create_component 0 0 30 100%
app/plot.py (no function) 17 0 8 100%
app/resources.py (no function) 27 0 0 100%
app/utility/__init__.py (no function) 0 0 0 100%
app/utility/data.py matrix_to_string 14 0 0 100%
app/utility/data.py render_image 6 0 0 100%
app/utility/data.py generate_download_link 6 0 0 100%
app/utility/data.py process_data 8 0 0 100%
app/utility/data.py are_identical 11 0 0 100%
app/utility/data.py are_close 1 0 0 100%
app/utility/data.py get_data_index 7 0 0 100%
app/utility/data.py load_data 10 0 0 100%
app/utility/data.py read_txt_file 2 0 0 100%
app/utility/data.py generate_html_table 18 0 0 100%
app/utility/data.py (no function) 19 0 0 100%
app/utility/dict.py merge_dicts 6 0 0 100%
app/utility/dict.py filter_dicts 17 0 0 100%
app/utility/dict.py filter_dicts.get_inequality_condition 2 0 0 100%
app/utility/dict.py list_to_dict 4 0 0 100%
app/utility/dict.py (no function) 4 0 0 100%
app/utility/numbers.py get_power_html 14 0 0 100%
app/utility/numbers.py to_scientific 9 0 0 100%
app/utility/numbers.py get_concentrations_html 1 0 0 100%
app/utility/numbers.py (no function) 5 0 0 100%
app/utility/project.py get_pyproject_info 7 0 0 100%
app/utility/project.py get_last_commit_date_from_github 12 0 0 100%
app/utility/project.py (no function) 7 0 0 100%
tests/__init__.py (no function) 0 0 0 100%
tests/conftest.py (no function) 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_zero 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_negative_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_smaller_than_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_smaller_than_point_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_larger_than_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_very_large_number 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_very_small_number 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_negative_small_number 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_negative_large_number 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_exactly_point_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_almost_point_one 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_scientific_notation_positive 3 0 0 100%
tests/test_fitting.py TestNormalizeToUnit.test_scientific_notation_negative 3 0 0 100%
tests/test_fitting.py TestFit.gaussian_data 7 0 0 100%
tests/test_fitting.py TestFit.gaussian_data.gaussian 1 0 0 100%
tests/test_fitting.py TestFit.gaussian_fit 2 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_creation 5 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_incorrect_fixed_parameters 4 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_list_to_dicts 2 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_list_to_dicts_no_fixed 4 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_error_function 2 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_fit 2 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_calculate_fits 2 0 0 100%
tests/test_fitting.py TestFit.test_gaussian_calculate_rss 2 0 0 100%
tests/test_fitting.py (no function) 32 0 0 100%
tests/test_main.py TestApp.teardown_method 1 0 0 100%
tests/test_main.py TestApp.test_default 3 0 0 100%
tests/test_main.py TestApp.get_widget_by_key 5 0 2 100%
tests/test_main.py TestApp.set_period 1 0 0 100%
tests/test_main.py TestApp.set_app_mode 1 0 0 100%
tests/test_main.py TestApp.set_quantity 1 0 0 100%
tests/test_main.py TestApp.set_model 1 0 0 100%
tests/test_main.py TestApp.run 1 0 0 100%
tests/test_main.py TestApp.set_data_delimiter 1 0 0 100%
tests/test_main.py TestApp.set_data_format 1 0 0 100%
tests/test_main.py TestApp.set_preprocess 1 0 0 100%
tests/test_main.py TestApp.set_fixed_parameter 1 0 0 100%
tests/test_main.py TestApp.set_guess_parameter 1 0 0 100%
tests/test_main.py TestApp.set_guesses_parameter 1 0 0 100%
tests/test_main.py TestApp.set_matching_input 1 0 0 100%
tests/test_main.py TestApp.fill_N0s 5 0 0 100%
tests/test_main.py TestApp.create_mock_file 5 0 0 100%
tests/test_main.py TestApp._test_fitting 14 0 0 100%
tests/test_main.py TestApp.test_bt_trpl 2 0 0 100%
tests/test_main.py TestApp.test_btd_trpl 2 0 0 100%
tests/test_main.py TestApp.test_bt_trmc 2 0 0 100%
tests/test_main.py TestApp.test_btd_trmc 2 0 0 100%
tests/test_main.py TestApp.test_bt_trpl_preprocess 6 0 0 100%
tests/test_main.py TestApp.test_invalid_carrier_concentrations 6 0 0 100%
tests/test_main.py TestApp.test_invalid_fixed_guess_value 15 0 0 100%
tests/test_main.py TestApp.test_bad_fitting 8 0 0 100%
tests/test_main.py TestApp.test_uneven_column_file 12 0 0 100%
tests/test_main.py TestApp.test_uneven_column_file2 8 0 0 100%
tests/test_main.py TestApp.test_column_file 9 0 0 100%
tests/test_main.py TestApp.test_incorrect_delimiter 7 0 0 100%
tests/test_main.py TestApp.test_failed_ca 11 0 0 100%
tests/test_main.py TestApp.test_failed_matching 6 0 0 100%
tests/test_main.py TestApp.test_bad_grid_fitting 9 0 0 100%
tests/test_main.py TestApp.test_settings_changed 8 0 0 100%
tests/test_main.py TestApp.test_stored_ca 9 0 0 100%
tests/test_main.py TestApp._test_grid_fitting 14 0 0 100%
tests/test_main.py TestApp.test_bt_trpl_grid 2 0 0 100%
tests/test_main.py TestApp.test_bt_trmc_grid 2 0 0 100%
tests/test_main.py (no function) 63 0 0 100%
tests/test_models.py assert_fit 3 0 0 100%
tests/test_models.py TestModel.model 11 0 1 100%
tests/test_models.py TestModel.model.n_init 0 0 2 100%
tests/test_models.py TestModel.test_initialisation 4 0 0 100%
tests/test_models.py TestModel.test_get_parameter_label 2 0 0 100%
tests/test_models.py TestModel.test_fixed_values 1 0 0 100%
tests/test_models.py TestModel.test_eq 4 0 0 100%
tests/test_models.py TestModel.test_get_rec_string 4 0 0 100%
tests/test_models.py TestModel.test_rate_equations 1 0 0 100%
tests/test_models.py TestModel.test_calculate_contributions 1 0 0 100%
tests/test_models.py TestModel.test_calculate_fit_quantity 1 0 0 100%
tests/test_models.py TestModel.test_get_contribution_recommendations 1 0 0 100%
tests/test_models.py TestBTModel.model 1 0 0 100%
tests/test_models.py TestBTModel.test_initialization 3 0 0 100%
tests/test_models.py TestBTModel.test_rate_equations 2 0 0 100%
tests/test_models.py TestBTModel.test_calculate_concentrations 7 0 0 100%
tests/test_models.py TestBTModel.test_get_carrier_concentrations 7 0 0 100%
tests/test_models.py TestBTModel.test_get_contribution_recommendations 8 0 0 100%
tests/test_models.py TestBTModel.test_calculate_trpl 2 0 0 100%
tests/test_models.py TestBTModel.test_calculate_trmc 2 0 0 100%
tests/test_models.py TestBTModelTRPL.test_calculate_fit_quantity 2 0 0 100%
tests/test_models.py TestBTModelTRPL.test_calculate_contributions 5 0 0 100%
tests/test_models.py TestBTModelTRPL.test_get_carrier_accumulation 12 0 0 100%
tests/test_models.py TestBTModelTRPL.test_generate_decays 6 0 0 100%
tests/test_models.py TestBTModelTRPL.test_fit 24 0 0 100%
tests/test_models.py TestBTModelTRPL.test_grid_fitting 35 0 0 100%
tests/test_models.py TestBTModelTRMC.test_calculate_fit_quantity 2 0 0 100%
tests/test_models.py TestBTModelTRMC.test_calculate_contributions 5 0 0 100%
tests/test_models.py TestBTModelTRMC.test_get_carrier_accumulation 12 0 0 100%
tests/test_models.py TestBTModelTRMC.test_generate_decays 6 0 0 100%
tests/test_models.py TestBTModelTRMC.test_fit 20 0 0 100%
tests/test_models.py TestBTModelTRMC.test_grid_fitting 32 0 0 100%
tests/test_models.py TestBTDModel.model 1 0 0 100%
tests/test_models.py TestBTDModel.test_initialization 3 0 0 100%
tests/test_models.py TestBTDModel.test_rate_equations 2 0 0 100%
tests/test_models.py TestBTDModel.test_calculate_concentrations 13 0 0 100%
tests/test_models.py TestBTDModel.test_get_carrier_concentrations 11 0 0 100%
tests/test_models.py TestBTDModel.test_get_contribution_recommendations 4 0 0 100%
tests/test_models.py TestBTDModel.test_calculate_trpl 2 0 0 100%
tests/test_models.py TestBTDModel.test_calculate_trmc 2 0 0 100%
tests/test_models.py TestBTDModelTRPL.test_calculate_fit_quantity 2 0 0 100%
tests/test_models.py TestBTDModelTRPL.test_calculate_contributions 5 0 0 100%
tests/test_models.py TestBTDModelTRPL.test_get_carrier_accumulation 12 0 0 100%
tests/test_models.py TestBTDModelTRPL.test_generate_decays 6 0 0 100%
tests/test_models.py TestBTDModelTRPL.test_fit 20 0 0 100%
tests/test_models.py TestBTDModelTRPL.test_grid_fitting 36 0 0 100%
tests/test_models.py TestBTDModelTRMC.test_calculate_fit_quantity 2 0 0 100%
tests/test_models.py TestBTDModelTRMC.test_calculate_contributions 5 0 0 100%
tests/test_models.py TestBTDModelTRMC.test_get_carrier_accumulation 12 0 0 100%
tests/test_models.py TestBTDModelTRMC.test_generate_decays 6 0 0 100%
tests/test_models.py TestBTDModelTRMC.test_fit 12 0 0 100%
tests/test_models.py TestBTDModelTRMC.test_grid_fitting 25 0 0 100%
tests/test_models.py (no function) 66 0 0 100%
tests/test_plot.py TestSubplots.test_simple_subplot_creation 3 0 0 100%
tests/test_plot.py TestSubplots.test_subplot_with_max_columns 3 0 0 100%
tests/test_plot.py TestSubplots.test_subplot_with_kwargs 3 0 0 100%
tests/test_plot.py TestPlotDecays.decay_data 1 0 0 100%
tests/test_plot.py TestPlotDecays.test_plot_decays_trpl 7 0 0 100%
tests/test_plot.py TestPlotDecays.test_plot_decays_trmc 5 0 0 100%
tests/test_plot.py TestPlotDecays.test_plot_decays_trmc_auto_labels 4 0 0 100%
tests/test_plot.py TestPlotDecays.test_plot_decays_with_fit 9 0 0 100%
tests/test_plot.py SimpleCarrierModel.__init__ 2 0 0 100%
tests/test_plot.py TestPlotCarrierConcentrations.carrier_data 7 0 0 100%
tests/test_plot.py TestPlotCarrierConcentrations.test_plot_carrier_concentrations 15 0 0 100%
tests/test_plot.py TestParallelPlot.test_basic_plot 7 0 0 100%
tests/test_plot.py TestParallelPlot.test_hide_and_order 6 0 0 100%
tests/test_plot.py (no function) 25 0 0 100%
tests/utility/__init__.py (no function) 0 0 0 100%
tests/utility/test_data.py TestMatrixToString.test_basic_conversion 5 0 0 100%
tests/utility/test_data.py TestMatrixToString.test_no_header 4 0 0 100%
tests/utility/test_data.py TestMatrixToString.test_single_column 4 0 0 100%
tests/utility/test_data.py TestMatrixToString.test_mixed_lengths 5 0 0 100%
tests/utility/test_data.py TestMatrixToString.test_all_empty 4 0 0 100%
tests/utility/test_data.py TestMatrixToString.test_no_trailing_comma 5 0 0 100%
tests/utility/test_data.py TestGenerateDownloadLink.test_basic_functionality 7 0 0 100%
tests/utility/test_data.py TestGenerateDownloadLink.test_no_header 6 0 0 100%
tests/utility/test_data.py TestGenerateDownloadLink.test_with_special_characters 10 0 0 100%
tests/utility/test_data.py TestGenerateDownloadLink.test_no_text_provided 7 0 0 100%
tests/utility/test_data.py TestGenerateDownloadLink.test_large_data 6 0 0 100%
tests/utility/test_data.py TestGenerateDownloadLink.test_b64_encoding 5 0 0 100%
tests/utility/test_data.py TestProcessData.gaussian_data 4 0 0 100%
tests/utility/test_data.py TestProcessData.test_no_normalisation 6 0 0 100%
tests/utility/test_data.py TestProcessData.test_with_normalisation 6 0 0 100%
tests/utility/test_data.py TestProcessData.test_edge_case_empty_data 5 0 0 100%
tests/utility/test_data.py TestGetDataIndex.test_no_delimiter 3 0 0 100%
tests/utility/test_data.py TestGetDataIndex.test_with_delimiter 3 0 0 100%
tests/utility/test_data.py TestGetDataIndex.test_no_data 3 0 0 100%
tests/utility/test_data.py TestGetDataIndex.test_empty_list 3 0 0 100%
tests/utility/test_data.py TestGetDataIndex.test_mixed_data 3 0 0 100%
tests/utility/test_data.py TestGetDataIndex.test_non_matching_delimiter 3 0 0 100%
tests/utility/test_data.py TestLoadData.test_x_y1_y2_y3_format 8 0 0 100%
tests/utility/test_data.py TestLoadData.test_x1_y1_x2_y2_format 10 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_simple_values 5 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_lists 6 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_tuples 4 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_dicts 6 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_nested_structures 5 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_numpy_arrays 5 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_with_rtol 6 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_identical_mixed_types 2 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_close_simple_values 3 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_close_numpy_arrays 6 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_close_nested_structures 6 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_close_different_structures 3 0 0 100%
tests/utility/test_data.py TestComparisonFunctions.test_edge_cases 11 0 0 100%
tests/utility/test_data.py TestRenderImage.test_valid_image_file 9 0 0 100%
tests/utility/test_data.py TestRenderImage.test_unknown_mime_type_raises 5 0 0 100%
tests/utility/test_data.py TestRenderImage.test_default_width 7 0 0 100%
tests/utility/test_data.py TestReadTxtFile.teardown_method 3 0 0 100%
tests/utility/test_data.py TestReadTxtFile.test_read_existing_file 4 0 0 100%
tests/utility/test_data.py TestReadTxtFile.test_read_multiline_file 5 0 0 100%
tests/utility/test_data.py TestReadTxtFile.test_nonexistent_file 2 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.sample_dataframe 3 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.dataframe_with_identical_rows 3 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.dataframe_with_column_name 4 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.test_basic_table_generation 12 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.test_merged_cells_for_identical_values 13 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.test_column_name_in_corner 4 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.test_empty_corner_cell_with_no_column_name 4 0 0 100%
tests/utility/test_data.py TestGenerateHtmlTable.test_div_wrapper 7 0 0 100%
tests/utility/test_data.py (no function) 71 0 0 100%
tests/utility/test_dict.py TestMergeDicts.test_empty_input 1 0 0 100%
tests/utility/test_dict.py TestMergeDicts.test_single_dict 1 0 0 100%
tests/utility/test_dict.py TestMergeDicts.test_two_dicts_no_overlap 3 0 0 100%
tests/utility/test_dict.py TestMergeDicts.test_two_dicts_with_overlap 3 0 0 100%
tests/utility/test_dict.py TestMergeDicts.test_nested_dictionaries 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_empty_inequations 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_basic_less_than 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_basic_greater_than 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_multiple_inequations 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_fixed_values_less_than 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_fixed_values_greater_than 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_reversed_fixed_values 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_whitespace_handling 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_equal_values 5 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_nonexistent_key 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_multiple_fixed_values 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_combined_inequations 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_no_matching_results 3 0 0 100%
tests/utility/test_dict.py TestFilterDicts.test_invalid_inequality 3 0 0 100%
tests/utility/test_dict.py TestListToDict.test_basic_case 4 0 0 100%
tests/utility/test_dict.py TestListToDict.test_single_element_dict 4 0 0 100%
tests/utility/test_dict.py TestListToDict.test_missing_key 3 0 0 100%
tests/utility/test_dict.py TestListToDict.test_non_dict_elements 3 0 0 100%
tests/utility/test_dict.py TestListToDict.test_empty_dicts 4 0 0 100%
tests/utility/test_dict.py (no function) 29 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_single_value_zero 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_single_value_positive 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_single_value_negative 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_single_value_exponent_only 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_single_value_all_significant_digits 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_single_value_with_small_exponent 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_list_input 4 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_empty_list 2 0 0 100%
tests/utility/test_numbers.py TestGetPowerHtml.test_base0 4 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_single_float 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_single_integer 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_none_input 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_single_negative_float 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_single_float_no_trailing_zeros 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_list_of_floats 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_list_of_mixed_numbers 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_empty_list 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_large_number 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_edge_case_zero 2 0 0 100%
tests/utility/test_numbers.py TestToScientific.test_single_integer_with_zero_trailing 2 0 0 100%
tests/utility/test_numbers.py TestGetConcentrationsHtml.test_basic_case 4 0 0 100%
tests/utility/test_numbers.py (no function) 25 0 0 100%
tests/utility/test_project.py TestGetLastCommitDateFromGitHub.test_successful_response 7 0 0 100%
tests/utility/test_project.py TestGetLastCommitDateFromGitHub.test_custom_branch 7 0 0 100%
tests/utility/test_project.py TestGetLastCommitDateFromGitHub.test_http_error 5 0 0 100%
tests/utility/test_project.py TestGetPyprojectInfo.test_single_key 5 0 0 100%
tests/utility/test_project.py TestGetPyprojectInfo.test_multiple_keys 5 0 0 100%
tests/utility/test_project.py TestGetPyprojectInfo.test_missing_key_raises_keyerror 4 0 0 100%
tests/utility/test_project.py (no function) 24 0 0 100%
Total   2521 0 55 100%

No items found using the specified filter.