Graphica テストカバレッジ: 93.7%

Files Functions Classes

coverage.py v7.16.2, created at 2026-10-12 16:38 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
graphica/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/__main__.py _setup_logging   0.0% 7 7 0   0.0% 2 0   0.0%
graphica/__main__.py _enable_native_crash_log   60.0% 5 2 0   100.0% 0 0   60.0%
graphica/__main__.py _safe_mode_flag_requested   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/__main__.py main   0.0% 40 40 0   0.0% 10 0   0.0%
graphica/__main__.py (no function)   100.0% 19 0 2   100.0% 0 0   100.0%
graphica/assets/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/assets/icons/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/core/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py register_fit_function   88.9% 9 1 0   87.5% 8 1   88.2%
graphica/core/analysis.py get_plugin_fit_type_names   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py get_fit_param_names   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py get_fit_model_id   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _run_curve_fit_with_overrides   98.4% 64 1 0   100.0% 40 0   99.0%
graphica/core/analysis.py _run_curve_fit_with_overrides.fit_func_for_curve_fit   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/analysis.py evaluate_saved_fit   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py calculate_curve_fit   97.0% 33 1 0   93.8% 16 1   95.9%
graphica/core/analysis.py _gaussian_component   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _lorentzian_component   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _pseudo_voigt_component   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _voigt_component   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _constant_baseline   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _linear_baseline   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py calculate_multi_peak_fit   93.1% 72 5 0   85.3% 34 5   90.6%
graphica/core/analysis.py calculate_multi_peak_fit.fit_func   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/core/analysis.py fit_curve_task   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/core/analysis.py multi_peak_fit_task   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py _trapezoid_integrate   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/core/analysis.py calculate_interval_integral   97.1% 34 1 0   94.4% 18 1   96.2%
graphica/core/analysis.py calculate_cumulative_integral   100.0% 15 0 0   100.0% 8 0   100.0%
graphica/core/analysis.py _peak_detection_signal_and_kwargs   94.1% 17 1 0   90.0% 10 1   92.6%
graphica/core/analysis.py calculate_peaks   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/analysis.py calculate_peak_quantification   97.4% 39 1 0   83.3% 6 1   95.6%
graphica/core/analysis.py calculate_savgol   100.0% 12 0 0   100.0% 6 0   100.0%
graphica/core/analysis.py calculate_moving_average_smooth   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/core/analysis.py calculate_median_smooth   88.9% 9 1 0   50.0% 2 1   81.8%
graphica/core/analysis.py calculate_gaussian_smooth   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/core/analysis.py _sort_xy_for_baseline   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/analysis.py calculate_baseline_als   100.0% 19 0 0   100.0% 10 0   100.0%
graphica/core/analysis.py calculate_baseline_polynomial   100.0% 14 0 0   100.0% 8 0   100.0%
graphica/core/analysis.py calculate_baseline_rubberband   100.0% 17 0 0   100.0% 8 0   100.0%
graphica/core/analysis.py calculate_baseline_manual   100.0% 16 0 0   100.0% 10 0   100.0%
graphica/core/analysis.py calculate_confidence_band   100.0% 31 0 0   100.0% 10 0   100.0%
graphica/core/analysis.py calculate_resample_to_grid   100.0% 43 0 0   90.0% 20 2   96.8%
graphica/core/analysis.py calculate_average_duplicate_x   100.0% 15 0 0   100.0% 4 0   100.0%
graphica/core/analysis.py sample_standard_deviation   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/analysis.py calculate_zscore_outliers   100.0% 13 0 0   83.3% 6 1   94.7%
graphica/core/analysis.py calculate_iqr_outliers   100.0% 13 0 0   100.0% 4 0   100.0%
graphica/core/analysis.py calculate_lttb_downsample   93.1% 29 2 0   75.0% 8 2   89.2%
graphica/core/analysis.py calculate_histogram   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/core/analysis.py calculate_kde   100.0% 11 0 0   100.0% 2 0   100.0%
graphica/core/analysis.py calculate_error_propagation   100.0% 12 0 0   100.0% 6 0   100.0%
graphica/core/analysis.py calculate_cross_correlation_alignment   91.7% 36 3 0   66.7% 6 2   88.1%
graphica/core/analysis.py assign_peak_label_levels   100.0% 14 0 0   100.0% 6 0   100.0%
graphica/core/analysis.py split_dataframe_by_column   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/core/analysis.py _format_group_label   50.0% 8 4 0   75.0% 4 1   58.3%
graphica/core/analysis.py (no function)   100.0% 63 0 0   100.0% 0 0   100.0%
graphica/core/app_paths.py get_app_data_dir   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/core/app_paths.py get_user_plugins_dir   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/app_paths.py get_plugin_data_dir   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/app_paths.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/core/axis_settings.py manual_axis_range   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/axis_settings.py axis_inverted   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/core/axis_settings.py axis_setting   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/axis_settings.py (no function)   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/core/caption_export.py escape_latex   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/caption_export.py sanitize_label   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/core/caption_export.py generate_latex_figure   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/caption_export.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/core/color_palettes.py normalize_palettes   66.7% 12 4 0   60.0% 10 4   63.6%
graphica/core/color_palettes.py known_palette_names   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/color_palettes.py default_color_cycle   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/color_palettes.py (no function)   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/core/commands.py EditCellCommand.__init__   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/core/commands.py EditCellCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py EditCellCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddRowCommand.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddRowCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddRowCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeleteRowsCommand.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeleteRowsCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeleteRowsCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddColumnCommand.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddColumnCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddColumnCommand.undo   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/commands.py DeleteColumnCommand.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeleteColumnCommand.redo   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/commands.py DeleteColumnCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py RenameColumnCommand.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/commands.py RenameColumnCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py RenameColumnCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py SetDatasetPropertiesCommand.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/commands.py SetDatasetPropertiesCommand.redo   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/commands.py SetDatasetPropertiesCommand.undo   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/commands.py SetMaskedRowsCommand.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/commands.py SetMaskedRowsCommand.redo   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/commands.py SetMaskedRowsCommand.undo   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/commands.py SetAnnotationsCommand.__init__   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/core/commands.py SetAnnotationsCommand.redo   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/commands.py SetAnnotationsCommand.undo   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddDatasetCommand.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddDatasetCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py AddDatasetCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeferRedrawCommand.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeferRedrawCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py DeferRedrawCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py RemoveDatasetCommand.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/commands.py RemoveDatasetCommand.redo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py RemoveDatasetCommand.undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/commands.py ReorderDatasetsCommand.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/commands.py ReorderDatasetsCommand.redo   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/commands.py ReorderDatasetsCommand.undo   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/commands.py (no function)   100.0% 56 0 3   100.0% 0 0   100.0%
graphica/core/cvd_simulation.py simulate_rgb_array   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/core/cvd_simulation.py simulate_hex_color   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/cvd_simulation.py (no function)   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py linestyle_name   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py column_key   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py with_string_columns   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.__setattr__   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.invalidate_visible_df_cache   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.visible_df   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/core/dataset.py Dataset.z_grid   100.0% 17 0 0   100.0% 6 0   100.0%
graphica/core/dataset.py Dataset.x_data   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.y_data   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.x_err_data   66.7% 3 1 0   50.0% 2 1   60.0%
graphica/core/dataset.py Dataset.z_data   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.y_err_data   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.set_cell   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.add_row   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.delete_last_row   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.delete_rows   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/dataset.py Dataset.restore_rows   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.is_column_in_use   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset.add_column   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.remove_column   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.rename_column   100.0% 6 0 0   100.0% 6 0   100.0%
graphica/core/dataset.py Dataset.restore_column   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/core/dataset.py Dataset.to_dict   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/core/dataset.py Dataset.from_dict   100.0% 24 0 0   100.0% 14 0   100.0%
graphica/core/dataset.py Dataset.__post_init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/dataset.py Dataset._use_string_column_names   100.0% 6 0 0   83.3% 6 1   91.7%
graphica/core/dataset.py Dataset._df_to_dict   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/core/dataset.py Dataset._df_from_dict   84.6% 26 4 0   70.0% 10 3   80.6%
graphica/core/dataset.py Dataset.__getstate__   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py Dataset.__setstate__   80.0% 10 2 0   80.0% 10 2   80.0%
graphica/core/dataset.py legend_text   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/dataset.py (no function)   100.0% 115 0 0   100.0% 0 0   100.0%
graphica/core/diagnostics.py _collect_environment_info   77.8% 9 2 0   100.0% 2 0   81.8%
graphica/core/diagnostics.py _collect_plugin_info   95.2% 21 1 0   90.0% 10 1   93.5%
graphica/core/diagnostics.py _collect_settings_info   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/core/diagnostics.py build_diagnostic_bundle   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/core/diagnostics.py (no function)   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/core/excel_utils.py find_unevaluated_formula_cells   93.8% 32 2 0   88.9% 18 2   92.0%
graphica/core/excel_utils.py (no function)   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py is_custom_formula_type   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _linear   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _poly2   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _poly3   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _exponential   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _logarithmic   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _power   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _gaussian   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _sigmoid   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _two_exponentials   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _lorentzian   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _pseudo_voigt   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _voigt   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _boltzmann_sigmoid   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _hill   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _estimate_fwhm   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/core/fit_models.py _p0_linear   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_poly2   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_poly3   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_two_exponentials   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_exponential   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_logarithmic   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_power   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _peak_amplitude_and_center   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_gaussian   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_lorentzian   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_pseudo_voigt   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_voigt   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_boltzmann_sigmoid   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_sigmoid   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _p0_hill   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _require_positive_x   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _require_positive_x.check   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/core/fit_models.py _require_non_negative_x   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/core/fit_models.py builtin_menu_labels   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py extract_formula_params   100.0% 8 0 0   100.0% 6 0   100.0%
graphica/core/fit_models.py build_custom_fit_func   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py build_custom_fit_func.custom_func   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _custom_formula_or_raise   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/fit_models.py _identify   100.0% 16 0 0   100.0% 16 0   100.0%
graphica/core/fit_models.py fit_model_id   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/core/fit_models.py fit_type_label   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py resolve_fit_param_names   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/core/fit_models.py resolve_fit_model   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/core/fit_models.py _plugin_initial_guess   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/fit_models.py _plugin_initial_guess.initial_guess   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/fit_models.py (no function)   100.0% 73 0 0   100.0% 0 0   100.0%
graphica/core/grid_data.py is_regular_grid   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/core/grid_data.py compute_z_grid   100.0% 28 0 0   100.0% 12 0   100.0%
graphica/core/grid_data.py extract_slice   100.0% 26 0 0   100.0% 6 0   100.0%
graphica/core/grid_data.py (no function)   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/core/i18n.py register_translations   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/i18n.py set_language   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/i18n.py get_language   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/i18n.py tr   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/i18n.py (no function)   100.0% 13 0 2   100.0% 0 0   100.0%
graphica/core/json_utils.py GraphicaJSONEncoder.default   85.7% 7 1 0   83.3% 6 1   84.6%
graphica/core/json_utils.py (no function)   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/label_utils.py infer_axis_label_from_column_name   88.9% 9 1 0   83.3% 6 1   86.7%
graphica/core/label_utils.py (no function)   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/marker_style.py marker_is_unfilled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/marker_style.py scatter_marker_kwargs   100.0% 16 0 0   91.7% 12 1   96.4%
graphica/core/marker_style.py mapped_scatter_marker_kwargs   85.7% 7 1 0   75.0% 4 1   81.8%
graphica/core/marker_style.py apply_mapped_hollow   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/marker_style.py line_marker_kwargs   100.0% 10 0 0   100.0% 8 0   100.0%
graphica/core/marker_style.py (no function)   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/core/methods_text.py describe_operation   88.5% 52 6 0   91.2% 34 1   89.5%
graphica/core/methods_text.py generate_methods_text   100.0% 26 0 0   100.0% 12 0   100.0%
graphica/core/methods_text.py (no function)   100.0% 4 0 3   100.0% 0 0   100.0%
graphica/core/named_colors.py normalize_color   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/core/named_colors.py normalize_name   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/named_colors.py load_named_colors   100.0% 24 0 0   100.0% 10 0   100.0%
graphica/core/named_colors.py save_named_colors   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/named_colors.py find_index_by_name   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/core/named_colors.py add_named_color   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/named_colors.py update_named_color   90.0% 10 1 0   75.0% 4 1   85.7%
graphica/core/named_colors.py remove_named_color   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/named_colors.py move_named_color   87.5% 8 1 0   75.0% 4 1   83.3%
graphica/core/named_colors.py (no function)   100.0% 17 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py _normalize_extension   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py _check_plugin_dependencies   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.__init__   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._safe_register   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_fit_function   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_menu_action   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_importer   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_importer   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_importer_for_extension   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_importer_extensions   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_exporter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_exporter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_exporter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_exporter_for_extension   100.0% 5 0 0   75.0% 4 1   88.9%
graphica/core/plugin_api.py GraphicaPluginAPI.get_exporters   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_processor   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_processor   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_processors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_processor_categories   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_analyzer   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_analyzer   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_analyzers   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_panel   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_panel   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_panels   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_plot_type   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_plot_type   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_plot_types   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_plot_type   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.register_render_backend   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI._do_register_render_backend   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.get_render_backends   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.menu_actions   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py GraphicaPluginAPI.registration_errors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py PluginManager.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py PluginManager.discover_plugin_dirs   100.0% 15 0 0   100.0% 10 0   100.0%
graphica/core/plugin_api.py PluginManager._load_module   92.9% 14 1 0   50.0% 2 1   87.5%
graphica/core/plugin_api.py PluginManager.load_all   93.3% 30 2 0   100.0% 8 0   94.7%
graphica/core/plugin_api.py set_safe_mode   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py is_safe_mode_enabled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py load_plugins_once   100.0% 13 0 0   100.0% 6 0   100.0%
graphica/core/plugin_api.py get_loaded_plugin_records   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py get_plugin_registration_errors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py get_plugin_api   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py get_registered_importer_extensions   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py get_registered_exporters   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_api.py (no function)   100.0% 65 0 0   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.datasets   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.current_dataset   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.selected_datasets   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.add_dataset   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.set_dataset_properties   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.undo_group   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.redraw   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.on_datasets_changed   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.on_selection_changed   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.parent_widget   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.show_message   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.show_error   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.data_dir   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.named_colors   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.set_named_colors   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.color_palettes   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.set_color_palettes   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.active_color_cycle   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py PluginContext.set_active_color_palette   100.0% 0 0 1   100.0% 0 0   100.0%
graphica/core/plugin_context.py (no function)   100.0% 24 0 2   100.0% 0 0   100.0%
graphica/core/plugin_install.py _reject_unsafe_members   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/core/plugin_install.py _find_plugin_root   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/core/plugin_install.py install_plugin_zip   95.7% 23 1 0   100.0% 8 0   96.8%
graphica/core/plugin_install.py (no function)   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/core/plugin_manifest.py load_plugin_manifest   100.0% 16 0 0   100.0% 8 0   100.0%
graphica/core/plugin_manifest.py parse_api_version   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/core/plugin_manifest.py is_compatible_api_version   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/plugin_manifest.py (no function)   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.__init__   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_fit_function   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_menu_action   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_importer   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_exporter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_processor   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_analyzer   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_panel   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_plot_type   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakeGraphicaPluginAPI.register_render_backend   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.__init__   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.selected_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.add_dataset   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.set_dataset_properties   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/core/plugin_testing.py FakePluginContext._record_undo   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.undo_group   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.redraw   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/core/plugin_testing.py FakePluginContext.on_datasets_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.on_selection_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.fire_datasets_changed   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.select   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.parent_widget   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/core/plugin_testing.py FakePluginContext.show_message   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.show_error   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/core/plugin_testing.py FakePluginContext.data_dir   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.named_colors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.set_named_colors   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.color_palettes   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/core/plugin_testing.py FakePluginContext.set_color_palettes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.active_color_cycle   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/plugin_testing.py FakePluginContext.set_active_color_palette   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/plugin_testing.py (no function)   100.0% 46 0 2   100.0% 0 0   100.0%
graphica/core/plugin_types.py PluginExecutionError.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/plugin_types.py (no function)   100.0% 76 0 0   100.0% 0 0   100.0%
graphica/core/plugin_updates.py _get_json   0.0% 3 3 0   100.0% 0 0   0.0%
graphica/core/plugin_updates.py parse_plugin_index   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/core/plugin_updates.py fetch_plugin_index   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/core/plugin_updates.py fetch_latest_plugin_release   0.0% 3 3 0   100.0% 0 0   0.0%
graphica/core/plugin_updates.py installed_user_plugins   93.3% 15 1 0   87.5% 8 1   91.3%
graphica/core/plugin_updates.py _read_manifest_loosely   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/core/plugin_updates.py find_plugin_updates   100.0% 15 0 0   100.0% 6 0   100.0%
graphica/core/plugin_updates.py check_plugin_updates   60.0% 5 2 0   50.0% 2 1   57.1%
graphica/core/plugin_updates.py zip_manifest   81.8% 11 2 0   75.0% 4 1   80.0%
graphica/core/plugin_updates.py check_update_zip   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/core/plugin_updates.py (no function)   100.0% 20 0 0   100.0% 0 0   100.0%
graphica/core/provenance.py build_provenance   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/provenance.py (no function)   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/report_export.py collect_methods_sections   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/report_export.py generate_html_report   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/core/report_export.py (no function)   100.0% 7 0 2   100.0% 0 0   100.0%
graphica/core/safe_eval.py _parse   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/core/safe_eval.py _Evaluator.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/safe_eval.py _Evaluator.eval   92.3% 65 5 0   88.0% 50 6   90.4%
graphica/core/safe_eval.py safe_eval_formula   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/core/safe_eval.py column_reference   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/core/safe_eval.py _replace_backtick_columns   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/core/safe_eval.py _replace_backtick_columns.replace   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/core/safe_eval.py safe_eval_column_formula   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/core/safe_eval.py (no function)   100.0% 22 0 0   100.0% 0 0   100.0%
graphica/core/script_export.py _to_native   66.7% 6 2 0   100.0% 2 0   75.0%
graphica/core/script_export.py _format_array_literal   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/core/script_export.py _kwargs_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/script_export.py _single_color_scatter   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/core/script_export.py _emit_dataset_plot_call   100.0% 34 0 0   95.5% 22 1   98.2%
graphica/core/script_export.py _emit_2d_dataset_plot_call   100.0% 22 0 0   100.0% 8 0   100.0%
graphica/core/script_export.py _emit_range_and_direction   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/core/script_export.py _emit_secondary_y_calls   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/core/script_export.py _emit_appearance_calls   91.7% 24 2 0   85.0% 20 3   88.6%
graphica/core/script_export.py generate_python_script   98.1% 53 1 0   96.2% 26 1   97.5%
graphica/core/script_export.py (no function)   100.0% 16 0 3   100.0% 0 0   100.0%
graphica/core/translations_en.py (no function)   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/unit_conversion.py convert_x_axis_unit   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/core/unit_conversion.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/core/update_check.py _parse_version   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/update_check.py is_newer_version   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/core/update_check.py _asset_info   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/core/update_check.py fetch_latest_release_info   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/core/update_check.py pick_asset   100.0% 7 0 0   100.0% 6 0   100.0%
graphica/core/update_check.py check_for_update   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/core/update_check.py (no function)   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/core/version.py (no function)   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/app_settings.py open_settings   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/app_settings.py Setting.read   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/app_settings.py Setting.write   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/app_settings.py Setting.read_for_export   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/app_settings.py as_list   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/app_settings.py as_list_keeping_empty_string   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/app_settings.py disabled_plugin_names   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/app_settings.py (no function)   100.0% 63 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py qfont_from_family_props   100.0% 7 0 0   75.0% 4 1   90.9%
graphica/gui/axis_bindings.py _font   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _font.read   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _font.write   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/axis_bindings.py _attribute   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _width   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _width.write   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _grid_linestyle   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _minor_tick_length   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _minor_tick_length.read   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _minor_tick_length.write   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _axis_rows   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py _grid_rows   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/axis_bindings.py (no function)   100.0% 16 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py typed_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py connect_typed_text   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py connect_typed_text.on_text_changed   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/binding.py connect_typed_text.on_editing_finished   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/binding.py check   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py number   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py index   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py shown_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py item_data   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py item_data.write   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py found_text   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py found_text.write   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py choice   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py choice.write   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py resolve   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/binding.py Binder.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py Binder.bindings   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/binding.py Binder._widget   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py Binder.gather   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py Binder.binding_for   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/binding.py Binder.read   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/binding.py Binder.restore   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/binding.py Binder.block_signals   100.0% 5 0 0   100.0% 6 0   100.0%
graphica/gui/binding.py Binder.connect   100.0% 13 0 0   100.0% 12 0   100.0%
graphica/gui/binding.py (no function)   100.0% 35 0 0   100.0% 0 0   100.0%
graphica/gui/builders/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/builders/axis_panel.py build_legend_location_control   100.0% 15 0 0   100.0% 2 0   100.0%
graphica/gui/builders/axis_panel.py build_tick_grid_and_colorbar_controls   100.0% 74 0 0   100.0% 4 0   100.0%
graphica/gui/builders/axis_panel.py build_tick_grid_and_colorbar_controls._make_grid_style_row   100.0% 28 0 0   100.0% 2 0   100.0%
graphica/gui/builders/axis_panel.py build_tick_format_controls   100.0% 76 0 0   100.0% 0 0   100.0%
graphica/gui/builders/axis_panel.py _log_note_label   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/builders/axis_panel.py build_label_editors   100.0% 31 0 0   100.0% 4 0   100.0%
graphica/gui/builders/axis_panel.py rebuild_label_tab   100.0% 65 0 0   75.0% 8 2   97.3%
graphica/gui/builders/axis_panel.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/builders/canvas_area.py build_canvas_and_toolbar   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/builders/canvas_area.py _create_mode_actions   100.0% 15 0 0   100.0% 2 0   100.0%
graphica/gui/builders/canvas_area.py _build_advanced_toolbar   100.0% 18 0 0   100.0% 6 0   100.0%
graphica/gui/builders/canvas_area.py _build_lite_tool_rail   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/builders/canvas_area.py _card_button   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/builders/canvas_area.py _build_card   100.0% 46 0 0   100.0% 2 0   100.0%
graphica/gui/builders/canvas_area.py finish_card   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/builders/canvas_area.py refresh_card_title   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/builders/canvas_area.py autosave_status_text   100.0% 8 0 0   100.0% 6 0   100.0%
graphica/gui/builders/canvas_area.py setup_status_bar   100.0% 28 0 0   100.0% 0 0   100.0%
graphica/gui/builders/canvas_area.py refresh_status_bar   90.9% 11 1 0   50.0% 2 1   84.6%
graphica/gui/builders/canvas_area.py (no function)   100.0% 29 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py cap_combo_width   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py _svg_icon   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py _DatasetTreeSelectionDelegate.paint   100.0% 24 0 0   100.0% 4 0   100.0%
graphica/gui/builders/common.py _DatasetTreeSelectionDelegate.sizeHint   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py _point_count_text   80.0% 10 2 0   100.0% 4 0   85.7%
graphica/gui/builders/common.py _IgnoreWheelFilter.eventFilter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py disable_wheel_tab_switching   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py _ClickableMathPreviewLabel.__init__   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/builders/common.py _ClickableMathPreviewLabel.mousePressEvent   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/builders/common.py _insert_form_row_after   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/builders/common.py (no function)   100.0% 32 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py build_dataset_color_picker   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py build_dataset_list_buttons   100.0% 41 0 0   100.0% 2 0   100.0%
graphica/gui/builders/dataset_panel.py build_dataset_list_buttons._make_group_separator   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py build_marker_style_controls   100.0% 32 0 0   100.0% 4 0   100.0%
graphica/gui/builders/dataset_panel.py build_dataset_style_controls   100.0% 141 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py build_fit_info_and_stats   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py _y2_value_spinbox   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py _build_secondary_y_axis_group   100.0% 32 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py build_secondary_y_controls   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py add_subplot_target_row   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py DatasetTreeWidget.dropEvent   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/builders/dataset_panel.py DatasetTreeWidget._all_items   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/builders/dataset_panel.py replace_dataset_list_with_tree   100.0% 40 0 0   100.0% 4 0   100.0%
graphica/gui/builders/dataset_panel.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_sections.py build_dataset_property_sections   100.0% 57 0 0   100.0% 6 0   100.0%
graphica/gui/builders/property_sections.py prop_form   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_sections.py align_form_label_columns   100.0% 18 0 0   100.0% 12 0   100.0%
graphica/gui/builders/property_sections.py set_dataset_property_fields_enabled   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/builders/property_sections.py load_collapsed_property_sections   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_sections.py on_property_section_toggled   85.7% 7 1 0   50.0% 2 1   77.8%
graphica/gui/builders/property_sections.py lite_hidden_property_widgets   91.7% 12 1 0   87.5% 8 1   90.0%
graphica/gui/builders/property_sections.py update_property_section_visibility   90.9% 22 2 0   88.9% 18 2   90.0%
graphica/gui/builders/property_sections.py (no function)   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_widgets.py _TypeTileMirror.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_widgets.py _TypeTileMirror._on_view_changed   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/builders/property_widgets.py _swap_field   50.0% 2 1 0   50.0% 2 1   50.0%
graphica/gui/builders/property_widgets.py _hidden_owner_row   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_widgets.py build_property_widgets   100.0% 21 0 0   100.0% 4 0   100.0%
graphica/gui/builders/property_widgets.py _slider_field   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_widgets.py _build_lite_more_box   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_widgets.py quick_colors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/builders/property_widgets.py refresh_property_widgets   85.7% 7 1 0   50.0% 2 1   77.8%
graphica/gui/builders/property_widgets.py (no function)   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._init_drawing_state   100.0% 17 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._fit_layout   66.7% 6 2 0   100.0% 2 0   75.0%
graphica/gui/canvas.py _CanvasDrawingMixin.get_waterfall_transform   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.data_to_display   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.display_to_data   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._effective_text_color   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._default_free_rect   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._safe_draw   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.redraw_all   100.0% 51 0 0   100.0% 20 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.update_appearance_only   100.0% 14 0 0   100.0% 6 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_shared_axis_tick_visibility   100.0% 8 0 0   100.0% 6 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._redraw_single_axis_no_draw   100.0% 21 0 0   100.0% 8 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.update_single_axis   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.add_free_axis   100.0% 13 0 0   100.0% 2 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.remove_last_free_axis   100.0% 20 0 0   80.0% 10 2   93.3%
graphica/gui/canvas.py _CanvasDrawingMixin.update_all_axes_appearance_and_data   100.0% 17 0 0   100.0% 8 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_panel_label   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._panel_label_for_index   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._downsample_for_inset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._annotation_render_key   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_annotations   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._enable_element_picking   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._add_gradient_line   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._add_gradient_fill   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_2d_data   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_data   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._record_x_axis_kind   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_1d_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._waterfall_shifted_points   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._downsample_for_display   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_smoothed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_plot_type   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_error_display   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin.set_highlighted_points   100.0% 31 0 0   100.0% 10 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._draw_point_labels   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_appearance   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_limits_and_scale   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_tick_locators   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._axis_text_and_line_style   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_titles_and_labels   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_spines_and_tick_marks   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_legend   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_grid   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_secondary_y_axis   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_unit_conversion_x_axis   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py _CanvasDrawingMixin._apply_colorbar   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py MplCanvas.__init__   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py MplCanvas.resizeEvent   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py MplCanvas._relayout_after_resize   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/canvas.py _HeadlessRenderCanvas.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/canvas.py (no function)   100.0% 66 0 0   100.0% 0 0   100.0%
graphica/gui/color_history.py load_recent_colors_into_picker   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/color_history.py ask_color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/color_history.py get_color_with_history   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/color_history.py (no function)   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.__init__   100.0% 21 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.color   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.color_name   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.set_color   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.show_quick_colors   100.0% 12 0 0   100.0% 4 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.blockSignals   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._update_swatch   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget.refresh_theme   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_swatch_clicked   0.0% 19 19 0   0.0% 6 0   0.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._apply_color_name   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_choose_from_all_named_colors   0.0% 7 7 0   0.0% 4 0   0.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_pick_other_color   71.4% 7 2 0   50.0% 4 2   63.6%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_register_current_color   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_manage_named_colors   0.0% 3 3 0   100.0% 0 0   0.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_hex_text_changed   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/color_picker_widget.py ColorPickerWidget._on_hex_edited   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/color_picker_widget.py _color_icon   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/color_picker_widget.py (no function)   100.0% 29 0 0   100.0% 0 0   100.0%
graphica/gui/crash_handler.py install_crash_handler   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/crash_handler.py _handle_uncaught_exception   100.0% 16 0 0   100.0% 2 0   100.0%
graphica/gui/crash_handler.py should_prompt_safe_mode   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/crash_handler.py prompt_safe_mode_and_apply   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/crash_handler.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/cvd_preview.py simulate_qimage   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/cvd_preview.py (no function)   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py _masked_row_background   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py _nan_cell_background   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog.__init__   100.0% 88 0 0   100.0% 4 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._populate_table   100.0% 30 0 0   100.0% 12 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_header_clicked   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_header_double_clicked   100.0% 12 0 0   100.0% 6 0   100.0%
graphica/gui/data_editor.py DataEditorDialog.get_selected_master_indices   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_table_selection_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog.select_row_by_master_index   100.0% 11 0 0   75.0% 4 1   93.3%
graphica/gui/data_editor.py DataEditorDialog.closeEvent   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_cell_changed   100.0% 43 0 0   100.0% 12 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._reset_view   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_undo_stack_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_add_row   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_delete_rows   100.0% 15 0 0   100.0% 4 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_toggle_mask_rows   100.0% 20 0 0   100.0% 8 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_add_column   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_delete_column   100.0% 11 0 0   100.0% 4 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_calculate_column   100.0% 15 0 0   100.0% 4 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_calculate_replicate_error   100.0% 37 0 0   100.0% 12 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_column_string_ops   75.7% 70 17 0   82.1% 28 5   77.6%
graphica/gui/data_editor.py DataEditorDialog._on_toggle_column_visibility   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_open_find_replace   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/data_editor.py DataEditorDialog._on_find_next   84.4% 32 5 0   71.4% 14 4   80.4%
graphica/gui/data_editor.py DataEditorDialog._on_replace_all   96.6% 29 1 0   92.9% 14 1   95.3%
graphica/gui/data_editor.py DataEditorDialog._on_jump_to_row   100.0% 11 0 0   83.3% 6 1   94.1%
graphica/gui/data_editor.py DataEditorDialog._on_save_as_csv   100.0% 12 0 0   100.0% 2 0   100.0%
graphica/gui/data_editor.py (no function)   100.0% 47 0 0   100.0% 0 0   100.0%
graphica/gui/data_import_flow.py find_unevaluated_formula_cells   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/data_import_flow.py dragEnterEvent   100.0% 2 0 0   50.0% 2 1   75.0%
graphica/gui/data_import_flow.py dropEvent   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/data_import_flow.py open_dropped_project   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/data_import_flow.py all_supported_data_file_extensions   100.0% 5 0 0   75.0% 4 1   88.9%
graphica/gui/data_import_flow.py queue_data_files   100.0% 15 0 0   90.0% 10 1   96.0%
graphica/gui/data_import_flow.py process_next_queued_file   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/data_import_flow.py load_data   100.0% 13 0 0   100.0% 4 0   100.0%
graphica/gui/data_import_flow.py on_data_load_succeeded   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/data_import_flow.py import_loaded_dataframe   100.0% 64 0 0   100.0% 28 0   100.0%
graphica/gui/data_import_flow.py apply_filename_regex_columns   89.5% 19 2 0   75.0% 8 2   85.2%
graphica/gui/data_import_flow.py on_import_folder   83.3% 18 3 0   100.0% 6 0   87.5%
graphica/gui/data_import_flow.py on_paste_data_from_clipboard   100.0% 27 0 0   100.0% 6 0   100.0%
graphica/gui/data_import_flow.py on_data_load_failed   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/data_import_flow.py cleanup_data_load_task_runner   100.0% 5 0 0   50.0% 2 1   85.7%
graphica/gui/data_import_flow.py (no function)   100.0% 32 0 0   100.0% 0 0   100.0%
graphica/gui/data_table_model.py fit_result_for   100.0% 9 0 0   100.0% 8 0   100.0%
graphica/gui/data_table_model.py fit_dataset_for   100.0% 9 0 0   100.0% 8 0   100.0%
graphica/gui/data_table_model.py _format   57.1% 7 3 0   50.0% 6 3   53.8%
graphica/gui/data_table_model.py DatasetTableModel.__init__   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.set_dataset   89.7% 29 3 0   83.3% 6 1   88.6%
graphica/gui/data_table_model.py DatasetTableModel._fit_values   71.4% 7 2 0   100.0% 2 0   77.8%
graphica/gui/data_table_model.py DatasetTableModel.row_for_number   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/data_table_model.py DatasetTableModel.set_highlighted_row   100.0% 6 0 0   100.0% 6 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.highlighted_row   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.rowCount   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.columnCount   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.headerData   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.value   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/data_table_model.py DatasetTableModel.data   89.5% 19 2 0   81.2% 16 3   85.7%
graphica/gui/data_table_model.py (no function)   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _linestyle   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _linestyle.write   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dataset_bindings.py _marker   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _marker.read   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _marker.write   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/dataset_bindings.py _color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _picked_color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _point_label_column   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _point_label_column.write   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py _point_label_column.read   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/dataset_bindings.py _value_range   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_bindings.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_style_icon.py marker_painter_path   95.7% 23 1 0   85.7% 14 2   91.9%
graphica/gui/dataset_style_icon.py marker_painter_path.point   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_style_icon.py _draw_marker   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/gui/dataset_style_icon.py marker_choice_icon   100.0% 12 0 0   100.0% 2 0   100.0%
graphica/gui/dataset_style_icon.py _marker_brush_and_pen   92.9% 14 1 0   87.5% 8 1   90.9%
graphica/gui/dataset_style_icon.py make_dataset_style_icon   100.0% 23 0 0   100.0% 4 0   100.0%
graphica/gui/dataset_style_icon.py make_dataset_visibility_icon   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dataset_style_icon.py apply_dataset_visibility_text_style   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dataset_style_icon.py (no function)   100.0% 21 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/actions_menu.py populate_dataset_actions_menu   100.0% 62 0 0   100.0% 24 0   100.0%
graphica/gui/datasets/actions_menu.py populate_dataset_actions_menu.add_submenu   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/actions_menu.py (no function)   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/colors.py ColorController.__init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/colors.py ColorController.on_color_changed   100.0% 10 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/colors.py ColorController.on_gradient_color2_changed   80.0% 10 2 0   75.0% 8 2   77.8%
graphica/gui/datasets/colors.py ColorController.auto_assign_colors   100.0% 12 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/colors.py ColorController.populate_named_color_menu   93.3% 15 1 0   87.5% 8 1   91.3%
graphica/gui/datasets/colors.py ColorController.apply_named_color_from_list   0.0% 7 7 0   0.0% 4 0   0.0%
graphica/gui/datasets/colors.py ColorController.apply_named_color_to_selection   100.0% 15 0 0   80.0% 10 2   92.0%
graphica/gui/datasets/colors.py ColorController.auto_assign_colors_from_colormap   100.0% 17 0 0   100.0% 10 0   100.0%
graphica/gui/datasets/colors.py ColorController.load_palettes   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/colors.py ColorController.save_palettes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/colors.py ColorController.active_color_cycle   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/colors.py ColorController.set_active_palette   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/colors.py ColorController.manage_palettes   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/colors.py _named_color_menu_icon   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/colors.py (no function)   100.0% 27 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.result_dialog   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.fit_runner   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.fit_runner   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.batch_fit_runner   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.batch_fit_runner   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/datasets/fitting.py FittingController.multi_peak_fit_runner   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.multi_peak_fit_runner   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.shutdown   60.0% 5 2 0   75.0% 4 1   66.7%
graphica/gui/datasets/fitting.py FittingController._run   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.fit_current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.batch_fit_selected   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.multi_peak_fit_current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.show_fit_result   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py FittingController.burn_fit_result_annotation   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/fitting.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.__init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.parent_widget   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.undo_stack   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.undo_macro   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/host.py DatasetHost.current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_derived_dataset   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_derived_dataset.add   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_annotation   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.annotations   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_annotations_to_active_axis   83.3% 6 1 0   50.0% 2 1   75.0%
graphica/gui/datasets/host.py DatasetHost.axis_y_span   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/gui/datasets/host.py DatasetHost.selected_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.target_folder_for_new_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_datasets_to_folder   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_datasets_to_folder.add   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/host.py DatasetHost.axis_count   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.show_status   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.set_fit_button_enabled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.set_multi_peak_fit_button_enabled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.pending_peak_guesses   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.finish_peak_placement   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/host.py DatasetHost.datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.add_dataset_with_undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.redraw   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.deferred_redraw   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.batched_undo_group   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.refresh_ui_state   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.active_color_cycle   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.project   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.settings   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.push_masked_rows   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.push_property_change   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.remove_datasets   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/host.py DatasetHost.sibling_tabs   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/host.py (no function)   100.0% 42 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py build_fit_result_dict   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py build_multi_peak_fit_result_dict   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py add_band_columns_to_fit_df   77.8% 9 2 0   100.0% 2 0   81.8%
graphica/gui/datasets/operations/fitting.py _param_lines   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/operations/fitting.py _fit_summary_text   100.0% 15 0 0   100.0% 10 0   100.0%
graphica/gui/datasets/operations/fitting.py multi_peak_summary_text   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py format_fit_result_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _fit_dataset   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py batch_fit_worker   0.0% 16 16 0   0.0% 6 0   0.0%
graphica/gui/datasets/operations/fitting.py stop_runner   0.0% 8 8 0   100.0% 0 0   0.0%
graphica/gui/datasets/operations/fitting.py _show_result   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _ensure_idle   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/fitting.py _finish_runner   100.0% 5 0 0   50.0% 2 1   85.7%
graphica/gui/datasets/operations/fitting.py fit_current_dataset   100.0% 16 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/fitting.py _finish_fit_runner   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _on_fit_failed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _on_fit_succeeded   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py batch_fit_selected   100.0% 18 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/fitting.py _finish_batch_runner   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _on_batch_failed   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/gui/datasets/operations/fitting.py _on_batch_succeeded   91.7% 12 1 0   66.7% 6 2   83.3%
graphica/gui/datasets/operations/fitting.py multi_peak_fit_current_dataset   100.0% 13 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/fitting.py _finish_multi_peak_runner   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _on_multi_peak_fit_failed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py _on_multi_peak_fit_succeeded   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py show_fit_result   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/operations/fitting.py burn_fit_result_annotation   88.9% 18 2 0   62.5% 8 3   80.8%
graphica/gui/datasets/operations/fitting.py burn_operation   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/fitting.py (no function)   100.0% 49 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/peaks.py _ask_settings   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/operations/peaks.py _detect   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/peaks.py find_peaks   100.0% 16 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/operations/peaks.py add_peak_labels   94.1% 17 1 0   83.3% 6 1   91.3%
graphica/gui/datasets/operations/peaks.py (no function)   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/processing.py arithmetic   88.7% 53 6 0   80.8% 26 5   86.1%
graphica/gui/datasets/operations/processing.py align   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/processing.py mean_and_sd   96.0% 25 1 0   90.0% 10 1   94.3%
graphica/gui/datasets/operations/processing.py normalize   100.0% 17 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/operations/processing.py savgol_smooth   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/processing.py _baseline   100.0% 12 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/operations/processing.py baseline_correction   100.0% 14 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/operations/processing.py interval_integral   100.0% 16 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/processing.py cumulative_integral   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/processing.py split_by_column   92.3% 26 2 0   85.7% 14 2   90.0%
graphica/gui/datasets/operations/processing.py resample   96.0% 25 1 0   90.0% 10 1   94.3%
graphica/gui/datasets/operations/processing.py _histogram_or_kde_result   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/processing.py histogram_or_kde   90.9% 11 1 0   50.0% 2 1   84.6%
graphica/gui/datasets/operations/processing.py detect_duplicate_x   100.0% 20 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/operations/processing.py filter_rows   90.9% 22 2 0   100.0% 4 0   92.3%
graphica/gui/datasets/operations/processing.py _outliers   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/processing.py detect_outliers   95.8% 24 1 0   83.3% 6 1   93.3%
graphica/gui/datasets/operations/processing.py batch_column_calculate   100.0% 22 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/operations/processing.py (no function)   100.0% 34 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationState.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.parent   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.stop   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.stop_with_warning   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.stop_with_information   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.information   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.current_dataset   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.selected_datasets   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.as_numbers   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.valid_points   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.ask   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.require_output_name   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.calculate   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.add   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.status   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.add_and_report   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py OperationContext.show_result_window   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/runner.py run_operation   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/runner.py (no function)   100.0% 34 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/transfer.py _write_failed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/transfer.py _export_one   93.3% 15 1 0   75.0% 8 2   87.0%
graphica/gui/datasets/operations/transfer.py _export_book   78.9% 19 4 0   75.0% 8 2   77.8%
graphica/gui/datasets/operations/transfer.py _export_folder   85.7% 21 3 0   87.5% 8 1   86.2%
graphica/gui/datasets/operations/transfer.py export_data   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/operations/transfer.py copy_or_move_to_tab   100.0% 17 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/operations/transfer.py copy_style   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/operations/transfer.py paste_style   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/operations/transfer.py reload_from_source   86.4% 22 3 0   100.0% 8 0   90.0%
graphica/gui/datasets/operations/transfer.py copy_methods_text   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/operations/transfer.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py item_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.tree   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.datasets   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/datasets/order.py DatasetOrder.find_row   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.dataset_items   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.item_for   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.current_dataset   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.selected_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.target_folder   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.top_level_items   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.append   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder._draw_position_for   100.0% 11 0 0   75.0% 8 2   89.5%
graphica/gui/datasets/order.py DatasetOrder.add_folder   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.detach_item   100.0% 6 0 0   75.0% 4 1   90.0%
graphica/gui/datasets/order.py DatasetOrder.remove_added   100.0% 6 0 0   50.0% 4 2   80.0%
graphica/gui/datasets/order.py DatasetOrder.removal   95.0% 20 1 0   90.0% 10 1   93.3%
graphica/gui/datasets/order.py DatasetOrder.removal.remove   100.0% 12 0 0   87.5% 8 1   95.0%
graphica/gui/datasets/order.py DatasetOrder.removal.restore   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.tree_order   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.sort_tree_to_draw_order   86.7% 15 2 0   66.7% 6 2   81.0%
graphica/gui/datasets/order.py DatasetOrder.sort_tree_to_draw_order.sort_children   100.0% 14 0 0   100.0% 10 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.group_tree   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.group_tree.walk   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.rebuild_tree   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.rebuild_tree.build   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.filter_by_name   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/order.py DatasetOrder.filter_by_name.apply_filter   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/order.py (no function)   100.0% 28 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/overlays.py OverlayController.__init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/overlays.py OverlayController.add_stat_label   100.0% 11 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/overlays.py OverlayController.add_inset   92.6% 27 2 0   100.0% 8 0   94.3%
graphica/gui/datasets/overlays.py (no function)   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/peaks.py PeakController.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/peaks.py PeakController.result_dialog   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/peaks.py PeakController.find_peaks   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/peaks.py PeakController.add_peak_labels   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/peaks.py (no function)   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/plugin_runs.py PluginRunController.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/plugin_runs.py PluginRunController.run_processor   100.0% 21 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/plugin_runs.py PluginRunController.run_analyzer   100.0% 32 0 0   100.0% 18 0   100.0%
graphica/gui/datasets/plugin_runs.py (no function)   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.integral_result_dialog   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.outlier_result_dialog   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController._run   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.arithmetic   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.align_selected   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.mean_and_sd_of_selected   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.normalize   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.savgol_smooth   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.baseline_correction   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.interval_integral   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.cumulative_integral   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.split_by_column   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.resample   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.histogram_or_kde   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.detect_duplicate_x   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.filter_rows   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.detect_outliers   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py ProcessingController.batch_column_calculate   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/processing.py (no function)   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.connect_signals   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.watch   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_subplot_target_changed   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_dataset_selected   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.shown_dataset   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel._current_selection   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel._selection_unchanged   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_legend_name_changed   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_point_labels_toggled   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_point_labels_limit_note   90.9% 11 1 0   75.0% 4 1   86.7%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_property_changed   100.0% 14 0 0   100.0% 10 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_mode_visibility   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_gradient_controls_visibility   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_smoothing_control_visibility   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_error_display_control_items   100.0% 8 0 0   75.0% 4 1   91.7%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_marker_controls_visibility   100.0% 23 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_waterfall_controls_visibility   100.0% 21 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_ui_state   100.0% 92 0 0   100.0% 6 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel._set_dataset_page_stats   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_stats_summary_label   100.0% 12 0 0   100.0% 2 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_plot_column_changed   100.0% 17 0 0   100.0% 10 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.maybe_autofill_axis_label   92.9% 14 1 0   80.0% 10 2   87.5%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_data_2d_toggled   81.2% 16 3 0   62.5% 8 3   75.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_z_column_changed   85.7% 7 1 0   75.0% 4 1   81.8%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_2d_value_range_changed   90.9% 11 1 0   75.0% 4 1   86.7%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.update_2d_controls_visibility   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_error_column_changed   86.7% 15 2 0   66.7% 6 2   81.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_data_structure_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/property_panel.py DatasetPropertyPanel.on_secondary_y_changed   100.0% 11 0 0   100.0% 8 0   100.0%
graphica/gui/datasets/property_panel.py (no function)   100.0% 43 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.copied_style   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController._run   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.export_data   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.copy_or_move_to_tab   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.copy_style   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.paste_style   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.reload_from_source   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py TransferController.copy_methods_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/datasets/transfer.py (no function)   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/detached_canvas_window.py DetachedCanvasWindow.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/detached_canvas_window.py DetachedCanvasWindow.closeEvent   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/detached_canvas_window.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py documents_dir   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py _remembered   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py start_dir   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/dialog_dirs.py start_path   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py remember   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/dialog_dirs.py get_save_file_name   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py get_open_file_name   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py get_open_file_names   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialog_dirs.py get_existing_directory   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py project_dir   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py project_stem   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py data_source_dir   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/dialog_dirs.py output_dir   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialog_dirs.py (no function)   100.0% 23 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/__init__.py (no function)   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog.__init__   100.0% 69 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog._on_fit_type_changed   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog._rebuild_param_table   100.0% 42 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog._on_param_fixed_toggled   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog.get_param_settings   100.0% 16 0 0   100.0% 8 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog.get_band_type   83.3% 6 1 0   75.0% 4 1   80.0%
graphica/gui/dialogs/analysis.py FitDialog.get_weighted   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog.get_loss   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog.get_x_range   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py FitDialog.get_fit_type   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog.__init__   100.0% 41 0 0   100.0% 6 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog._add_guess_row   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog._remove_selected_rows   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog._on_auto_detect   73.3% 15 4 0   100.0% 6 0   81.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog._on_accept   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog.get_component_type   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog.get_baseline_type   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog.get_initial_guesses   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py MultiPeakFitDialog.get_multi_peak_fit_settings   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py PeakSettingsDialog.__init__   100.0% 30 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py PeakSettingsDialog.get_settings   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py PeakSettingsDialog.get_peak_settings   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py ResultDialog.__init__   100.0% 45 0 0   100.0% 6 0   100.0%
graphica/gui/dialogs/analysis.py ResultDialog._on_copy   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py ResultDialog._on_copy._restore   50.0% 2 1 0   100.0% 0 0   50.0%
graphica/gui/dialogs/analysis.py ResultDialog._on_save_csv   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py BaselineCorrectionDialog.__init__   0.0% 80 80 0   0.0% 2 0   0.0%
graphica/gui/dialogs/analysis.py BaselineCorrectionDialog.get_settings   0.0% 13 13 0   0.0% 6 0   0.0%
graphica/gui/dialogs/analysis.py SavGolDialog.__init__   100.0% 31 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py SavGolDialog._on_mode_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py SavGolDialog.get_settings   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py IntervalIntegralDialog.__init__   0.0% 33 33 0   0.0% 4 0   0.0%
graphica/gui/dialogs/analysis.py IntervalIntegralDialog.get_settings   0.0% 4 4 0   100.0% 0 0   0.0%
graphica/gui/dialogs/analysis.py CumulativeIntegralDialog.__init__   100.0% 20 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py CumulativeIntegralDialog.get_settings   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py NormalizeDatasetDialog.__init__   100.0% 29 0 0   50.0% 2 1   96.8%
graphica/gui/dialogs/analysis.py NormalizeDatasetDialog.get_settings   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py ResampleDatasetDialog.__init__   0.0% 63 63 0   0.0% 8 0   0.0%
graphica/gui/dialogs/analysis.py ResampleDatasetDialog.get_settings   0.0% 9 9 0   0.0% 2 0   0.0%
graphica/gui/dialogs/analysis.py OutlierDetectionDialog.__init__   100.0% 37 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py OutlierDetectionDialog.get_settings   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py HistogramKDEDialog.__init__   100.0% 50 0 0   50.0% 2 1   98.1%
graphica/gui/dialogs/analysis.py HistogramKDEDialog._update_default_output_name   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/gui/dialogs/analysis.py HistogramKDEDialog.get_settings   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/analysis.py DatasetArithmeticDialog.__init__   100.0% 21 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py DatasetArithmeticDialog.get_settings   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py XAxisAlignmentDialog.__init__   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py XAxisAlignmentDialog.get_settings   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/analysis.py (no function)   100.0% 116 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog.__init__   100.0% 178 0 0   83.3% 6 1   99.5%
graphica/gui/dialogs/app.py PreferencesDialog._populate_plugin_list   100.0% 29 0 0   100.0% 12 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._populate_hook_errors_list   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog.get_disabled_plugin_names   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._refresh_file_association_state   100.0% 12 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._on_register_file_association   71.4% 7 2 0   100.0% 0 0   71.4%
graphica/gui/dialogs/app.py PreferencesDialog._on_unregister_file_association   71.4% 7 2 0   100.0% 0 0   71.4%
graphica/gui/dialogs/app.py PreferencesDialog._on_open_plugins_folder   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._on_browse_autosave_dir   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._on_clear_autosave_dir   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._on_browse_default_style_template   100.0% 5 0 0   50.0% 2 1   85.7%
graphica/gui/dialogs/app.py PreferencesDialog._on_clear_default_style_template   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog.get_default_style_template   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._set_theme_color   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog._on_pick_theme_color   100.0% 6 0 0   50.0% 2 1   87.5%
graphica/gui/dialogs/app.py PreferencesDialog.get_theme_color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog.get_wheel_zoom_speed   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/dialogs/app.py PreferencesDialog._on_install_plugin   100.0% 11 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/app.py PreferencesDialog.get_settings   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py HelpDialog.__init__   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py HelpDialog.refresh_theme   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py AboutDialog.__init__   100.0% 26 0 0   75.0% 4 1   96.7%
graphica/gui/dialogs/app.py UpdateDialog.__init__   100.0% 41 0 0   100.0% 8 0   100.0%
graphica/gui/dialogs/app.py UpdateDialog._explanation   100.0% 11 0 0   100.0% 10 0   100.0%
graphica/gui/dialogs/app.py UpdateDialog._copy_command   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py UpdateDialog._finish   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PluginUpdatesDialog.__init__   100.0% 31 0 0   75.0% 4 1   97.1%
graphica/gui/dialogs/app.py PluginUpdatesDialog._show_notes   75.0% 8 2 0   50.0% 2 1   70.0%
graphica/gui/dialogs/app.py PluginUpdatesDialog.selected_updates   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py WelcomeDialog.__init__   100.0% 57 0 0   87.5% 8 1   98.5%
graphica/gui/dialogs/app.py WelcomeDialog._on_load_sample_clicked   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py WelcomeDialog._on_open_recent_clicked   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/app.py WelcomeDialog._on_recent_item_double_clicked   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py WelcomeDialog._on_load_template_clicked   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py WelcomeDialog._on_open_project_clicked   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/gui/dialogs/app.py ShortcutsDialog.__init__   93.1% 29 2 0   100.0% 6 0   94.3%
graphica/gui/dialogs/app.py CommandPaletteDialog.__init__   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py CommandPaletteDialog._update_list   100.0% 15 0 0   90.0% 10 1   96.0%
graphica/gui/dialogs/app.py CommandPaletteDialog._on_item_activated   87.5% 8 1 0   50.0% 6 3   71.4%
graphica/gui/dialogs/app.py CommandPaletteDialog.eventFilter   100.0% 16 0 0   80.0% 10 2   92.3%
graphica/gui/dialogs/app.py QuickAccessManagerDialog.__init__   100.0% 23 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py QuickAccessManagerDialog._update_list   100.0% 17 0 0   100.0% 6 0   100.0%
graphica/gui/dialogs/app.py QuickAccessManagerDialog._on_item_changed   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/app.py AutosaveHistoryDialog.__init__   100.0% 21 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/app.py AutosaveHistoryDialog._on_double_clicked   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py AutosaveHistoryDialog.get_selected_path   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/app.py PluginParamDialog.__init__   100.0% 19 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/app.py PluginParamDialog._build_widget   100.0% 25 0 0   83.3% 12 2   94.6%
graphica/gui/dialogs/app.py PluginParamDialog.get_values   100.0% 10 0 0   100.0% 8 0   100.0%
graphica/gui/dialogs/app.py (no function)   100.0% 72 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py LabelEditDialog.__init__   100.0% 67 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/appearance.py LabelEditDialog.__init__._make_icon_button   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py LabelEditDialog._refresh_preview   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py LabelEditDialog._capture_pending_selection   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/appearance.py LabelEditDialog._apply_wrap   85.4% 41 6 0   75.0% 28 3   81.2%
graphica/gui/dialogs/appearance.py LabelEditDialog._insert_symbol   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/appearance.py LabelEditDialog.get_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog.__init__   100.0% 49 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._is_default_selected   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._is_readonly_palette   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._update_button_states   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._refresh_color_list   100.0% 23 0 0   100.0% 6 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._on_palette_selected   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._on_new_palette   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._on_rename_palette   90.9% 11 1 0   83.3% 6 1   88.2%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._on_delete_palette   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._on_add_color   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog._on_remove_color   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/appearance.py ColorPaletteDialog.get_result   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py _named_color_icon   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog.__init__   100.0% 40 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._update_button_states   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._reload_list   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._commit   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._current_index   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._ask_name_and_color   71.4% 7 2 0   50.0% 4 2   63.6%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._on_add   60.0% 10 4 0   50.0% 2 1   58.3%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._on_edit   0.0% 15 15 0   0.0% 4 0   0.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._on_delete   50.0% 10 5 0   50.0% 2 1   50.0%
graphica/gui/dialogs/appearance.py NamedColorManagerDialog._on_move   66.7% 9 3 0   50.0% 2 1   63.6%
graphica/gui/dialogs/appearance.py NamedColorPickerDialog.__init__   100.0% 20 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorPickerDialog._reload_list   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorPickerDialog.accept   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py NamedColorPickerDialog.selected_entry   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py LegendOrderDialog.__init__   100.0% 17 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py LegendOrderDialog._on_reset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py LegendOrderDialog.get_order   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py _AnnotationColorButton.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py _AnnotationColorButton.color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py _AnnotationColorButton.set_color   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py _AnnotationColorButton._choose_color   0.0% 3 3 0   0.0% 2 0   0.0%
graphica/gui/dialogs/appearance.py TextAnnotationDialog.__init__   100.0% 16 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py TextAnnotationDialog.get_text   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/dialogs/appearance.py TextAnnotationDialog.color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ArrowAnnotationDialog.__init__   100.0% 26 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ArrowAnnotationDialog.get_settings   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py ArrowAnnotationDialog.color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/appearance.py InsetDialog.__init__   100.0% 47 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/appearance.py InsetDialog.get_settings   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/appearance.py (no function)   100.0% 83 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnCalculatorDialog.__init__   100.0% 49 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnCalculatorDialog._apply_preset_moving_average   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnCalculatorDialog._apply_preset_diff   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnCalculatorDialog._apply_preset_normalize   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnCalculatorDialog._apply_preset_cumsum   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnCalculatorDialog.get_formula   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py CalcHelpDialog.__init__   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py CalcHelpDialog.refresh_theme   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnStringOpsDialog.__init__   100.0% 62 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnStringOpsDialog.get_mode   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnStringOpsDialog.get_split_settings   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnStringOpsDialog.get_merge_settings   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnStringOpsDialog.get_extract_settings   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py FindReplaceDialog.__init__   100.0% 29 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py FindReplaceDialog.get_search_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py FindReplaceDialog.get_replace_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py FindReplaceDialog.get_target_column   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py FindReplaceDialog.set_status   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py RowFilterDialog.__init__   100.0% 22 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py RowFilterDialog.get_formula   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnVisibilityDialog.__init__   100.0% 17 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ColumnVisibilityDialog.get_hidden_columns   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_edit.py DuplicateXDialog.__init__   100.0% 31 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py DuplicateXDialog.get_settings   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_edit.py ReplicateErrorDialog.__init__   100.0% 28 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_edit.py ReplicateErrorDialog.get_settings   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_edit.py (no function)   100.0% 45 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py _mixes_text_and_other_values   90.0% 10 1 0   87.5% 8 1   88.9%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog.__init__   93.5% 139 9 0   91.7% 12 1   93.4%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._describe_delimiter   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._resolve_csv_encoding   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._resolve_csv_delimiter   83.3% 6 1 0   75.0% 4 1   80.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._csv_settings_are_automatic   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._on_delimiter_combo_changed   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._on_fixed_width_toggled   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._reload_csv_preview   91.7% 36 3 0   100.0% 10 0   93.5%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._on_sheet_or_header_changed   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._on_check_column_types   100.0% 5 0 0   50.0% 2 1   85.7%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._apply_type_overrides   83.3% 12 2 0   90.0% 10 1   86.4%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog._rebuild_preview_table   100.0% 32 0 0   91.7% 12 1   97.7%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog.accept   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog.get_selected_columns   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnPreviewDialog.get_dataframe   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py ColumnTypeDialog.__init__   100.0% 28 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_import.py ColumnTypeDialog.get_overrides   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_import.py ExcelMultiSheetDialog.__init__   100.0% 19 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/data_import.py ExcelMultiSheetDialog.get_selected_sheets   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_import.py FolderImportDialog.__init__   100.0% 28 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py FolderImportDialog._update_preview   88.9% 18 2 0   83.3% 6 1   87.5%
graphica/gui/dialogs/data_import.py FolderImportDialog.get_regex_pattern   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py NewDatasetDialog.__init__   100.0% 19 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py NewDatasetDialog._on_accept   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_import.py NewDatasetDialog.get_dataset_name   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py NewDatasetDialog.get_column_names   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/data_import.py NewDatasetDialog.get_row_count   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/data_import.py (no function)   100.0% 47 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py ExportDialog.__init__   100.0% 57 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py ExportDialog._on_journal_preset_changed   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py ExportDialog.get_options   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog.__init__   100.0% 78 0 0   100.0% 4 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog._on_add_project_files   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog._on_remove_selected_project_files   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog._on_browse_output_dir   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog.get_mode   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog.get_selected_subplot_indices   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog.get_project_file_paths   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py BatchExportDialog.get_common_options   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py CaptionGeneratorDialog.__init__   100.0% 44 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py CaptionGeneratorDialog._on_browse_image   0.0% 3 3 0   0.0% 2 0   0.0%
graphica/gui/dialogs/export.py CaptionGeneratorDialog._update_preview   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py CaptionGeneratorDialog._on_copy_latex   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py CaptionGeneratorDialog._on_copy_caption   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py CVDSimulationDialog.__init__   100.0% 26 0 0   100.0% 2 0   100.0%
graphica/gui/dialogs/export.py CVDSimulationDialog._update_preview   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/dialogs/export.py (no function)   100.0% 34 0 0   100.0% 0 0   100.0%
graphica/gui/dock_layout.py arrange_property_docks   100.0% 34 0 0   100.0% 6 0   100.0%
graphica/gui/dock_layout.py _take_legend_rows   100.0% 19 0 0   100.0% 4 0   100.0%
graphica/gui/dock_layout.py _on_inspector_page_changed   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/dock_layout.py refresh_inspector   100.0% 7 0 0   75.0% 4 1   90.9%
graphica/gui/dock_layout.py restore_dock_layout   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/dock_layout.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel.__init__   100.0% 70 0 0   100.0% 2 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel.get_options   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel.refresh_preview   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel._render_if_shown   100.0% 2 0 0   50.0% 2 1   75.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel._render_preview   100.0% 18 0 0   100.0% 6 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel.resizeEvent   80.0% 5 1 0   75.0% 4 1   77.8%
graphica/gui/export_preview_panel.py ExportPreviewPanel._make_temp_canvas_for_full_figure   100.0% 16 0 0   87.5% 8 1   95.8%
graphica/gui/export_preview_panel.py ExportPreviewPanel._render_full_figure_pixmap   100.0% 16 0 0   100.0% 2 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel._render_full_figure_bytes   100.0% 19 0 0   100.0% 4 0   100.0%
graphica/gui/export_preview_panel.py ExportPreviewPanel._on_copy_clicked   100.0% 30 0 0   85.7% 14 2   95.5%
graphica/gui/export_preview_panel.py ExportPreviewPanel._on_save_clicked   100.0% 34 0 0   92.9% 14 1   97.9%
graphica/gui/export_preview_panel.py (no function)   100.0% 29 0 0   100.0% 0 0   100.0%
graphica/gui/export_settings.py export_rc_params   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/export_settings.py (no function)   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/export_size.py unit_key   100.0% 10 0 0   100.0% 8 0   100.0%
graphica/gui/export_size.py _units_per_inch   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/export_size.py size_in_inches   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/export_size.py convert_length   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/export_size.py output_pixel_size   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/export_size.py preview_dpi   87.5% 8 1 0   75.0% 4 1   83.3%
graphica/gui/export_size.py preview_too_large_text   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/export_size.py confirm_output_size   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/export_size.py ExportSizeFields.__init__   100.0% 13 0 0   75.0% 4 1   94.1%
graphica/gui/export_size.py ExportSizeFields.size_in_inches   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/export_size.py ExportSizeFields._apply_unit_format   83.3% 6 1 0   75.0% 4 1   80.0%
graphica/gui/export_size.py ExportSizeFields._on_unit_changed   100.0% 12 0 0   100.0% 4 0   100.0%
graphica/gui/export_size.py ExportSizeFields.update_pixel_label   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/export_size.py (no function)   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/file_association.py _winreg   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/gui/file_association.py is_supported   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/file_association.py open_command   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/file_association.py _set_default   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/file_association.py _read_default   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/file_association.py _delete_tree   81.8% 11 2 0   100.0% 0 0   81.8%
graphica/gui/file_association.py _notify_shell   0.0% 6 6 0   100.0% 0 0   0.0%
graphica/gui/file_association.py register   90.0% 10 1 0   75.0% 4 1   85.7%
graphica/gui/file_association.py unregister   87.5% 8 1 0   83.3% 6 1   85.7%
graphica/gui/file_association.py is_registered   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/file_association.py (no function)   100.0% 16 0 0   100.0% 0 0   100.0%
graphica/gui/icon_utils.py icon   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/icon_utils.py _load_svg_text   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/icon_utils.py load_svg_icon   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/icon_utils.py (no function)   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/log_axis_notes.py _numbers   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/log_axis_notes.py nonpositive_point_count   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/gui/log_axis_notes.py log_note_text   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/log_axis_notes.py update_log_axis_notes   93.3% 15 1 0   83.3% 6 1   90.5%
graphica/gui/log_axis_notes.py (no function)   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/main_app_window.py MainAppWindow.__init__   93.5% 31 2 0   50.0% 2 1   90.9%
graphica/gui/main_app_window.py MainAppWindow.add_tab_button   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_app_window.py MainAppWindow._create_undo_history_dock   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/main_app_window.py MainAppWindow._connect_header   100.0% 13 0 0   100.0% 2 0   100.0%
graphica/gui/main_app_window.py MainAppWindow._trigger_on_current_tab   100.0% 4 0 0   50.0% 2 1   83.3%
graphica/gui/main_app_window.py MainAppWindow.set_theme_color   100.0% 10 0 0   75.0% 4 1   92.9%
graphica/gui/main_app_window.py MainAppWindow.set_ui_mode   88.9% 9 1 0   66.7% 6 2   80.0%
graphica/gui/main_app_window.py MainAppWindow._attach_tab_chrome   92.3% 26 2 0   62.5% 8 3   85.3%
graphica/gui/main_app_window.py MainAppWindow.add_new_project_tab   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/main_app_window.py MainAppWindow.open_files   93.8% 16 1 0   90.0% 10 1   92.3%
graphica/gui/main_app_window.py MainAppWindow.bring_to_front   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/main_app_window.py MainAppWindow._tab_title_for   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_app_window.py MainAppWindow._refresh_tab_title   100.0% 5 0 0   50.0% 4 2   77.8%
graphica/gui/main_app_window.py MainAppWindow._update_window_title   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_app_window.py MainAppWindow._on_current_tab_changed   91.7% 12 1 0   50.0% 8 4   75.0%
graphica/gui/main_app_window.py MainAppWindow._on_tab_close_requested   100.0% 16 0 0   75.0% 8 2   91.7%
graphica/gui/main_app_window.py MainAppWindow.closeEvent   100.0% 14 0 0   90.0% 10 1   95.8%
graphica/gui/main_app_window.py (no function)   100.0% 35 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py _scientific_text_from_value   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py _scientific_validate   88.9% 9 1 0   75.0% 4 1   84.6%
graphica/gui/main_window.py _enable_scientific_notation_input   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py _strip_trailing_colon_from_labels   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/main_window.py _make_default_plot_font   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py is_frozen   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py plugin_search_paths   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._deactivate_other_mouse_modes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._active_mouse_mode   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.__init__   100.0% 26 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._load_designer_ui   100.0% 22 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._init_state   100.0% 51 0 0   50.0% 2 1   98.1%
graphica/gui/main_window.py PlotterApp._setup_window   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_canvas_and_toolbar   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._setup_status_bar   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_dataset_color_picker   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_dataset_list_buttons   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_dataset_style_controls   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_legend_location_control   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_fit_info_and_stats   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_secondary_y_controls   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_tick_grid_and_colorbar_controls   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_tick_format_controls   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_label_editors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_subplot_target_row   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._arrange_property_docks   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._build_tab_shell   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._rebuild_label_tab   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._connect_and_initialize   100.0% 56 0 0   100.0% 18 0   100.0%
graphica/gui/main_window.py PlotterApp._restore_dock_layout   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.closeEvent   77.2% 57 13 0   92.9% 14 1   80.3%
graphica/gui/main_window.py PlotterApp._check_autosave_recovery   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._check_first_launch   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._on_show_startup_screen   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._show_welcome_dialog   100.0% 10 0 0   100.0% 8 0   100.0%
graphica/gui/main_window.py PlotterApp._on_show_autosave_history   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._load_sample_data   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._update_autosave_path   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._rotate_autosave_generations   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._sync_project_from_ui   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._remember_saved_content   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.selected_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.dataset_tree_item   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.target_folder_for_new_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.add_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.add_dataset_with_undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.push_dataset_additions   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.remove_dataset_items_with_undo   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.push_dataset_property_command   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.refresh_after_dataset_property_change   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.add_annotation   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.redraw   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.deferred_redraw   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.batched_undo_group   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.begin_batched_undo_group   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.end_batched_undo_group   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.redraw_appearance   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.pending_peak_guesses   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.clear_pending_peak_guesses   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.toggle_peak_placement_mode   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.dataset_host   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.show_export_preview   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.show_bottom_page   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp.set_theme_color   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp.show_advanced_mode   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/main_window.py PlotterApp.show_plugin_panel   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.plugin_context   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._notify_plugins_datasets_changed   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._notify_plugins_selection_changed   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._run_plugin_menu_action   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.document_title   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.has_unsaved_changes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.confirm_unsaved_changes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.auto_save   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.manual_save   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.manual_save_as   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._save_project_to_path   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.manual_load   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._load_project_from_path   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._reset_zoom   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._begin_deferring_redraw   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._end_deferring_redraw   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._update_plot   100.0% 27 0 0   90.0% 10 1   97.3%
graphica/gui/main_window.py PlotterApp._refresh_minimap   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._on_minimap_range_selected   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._on_toggle_minimap   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_toggle_panel_labels   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_toggle_canvas_detached   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._sync_canvas_detach_action   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._detach_canvas   100.0% 17 0 0   100.0% 4 0   100.0%
graphica/gui/main_window.py PlotterApp._reattach_canvas   100.0% 15 0 0   75.0% 4 1   94.7%
graphica/gui/main_window.py PlotterApp._on_detach_window_closed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._update_plot_appearance   100.0% 8 0 0   75.0% 4 1   91.7%
graphica/gui/main_window.py PlotterApp._on_editor_rows_highlighted   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._reapply_editor_row_highlight   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._build_dataset_property_sections   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._prop_form   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._align_form_label_columns   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._set_dataset_property_fields_enabled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._load_collapsed_property_sections   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_property_section_toggled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._update_property_section_visibility   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._replace_dataset_list_with_tree   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_dataset_list_item   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._get_target_folder_for_new_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_dataset   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/main_window.py PlotterApp._add_dataset_with_undo   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_dataset_with_undo.do_add   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_dataset_with_undo.do_remove   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._push_dataset_additions   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._push_dataset_additions.remove   0.0% 4 4 0   0.0% 2 0   0.0%
graphica/gui/main_window.py PlotterApp._remove_dataset_items_with_undo   90.9% 11 1 0   83.3% 6 1   88.2%
graphica/gui/main_window.py PlotterApp._remove_dataset_items_with_undo.do_remove   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._remove_dataset_items_with_undo.do_restore   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_dataset_folder_item   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._flatten_dataset_tree   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._get_current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._get_selected_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._get_dataset_tree_item   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._capture_dataset_group_tree   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._rebuild_dataset_tree_widget   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._sync_dataset_list_widget_order   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.dragEnterEvent   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.dropEvent   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._all_supported_data_file_extensions   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._queue_data_files   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._process_next_queued_file   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp.load_data   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_data_load_succeeded   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._import_loaded_dataframe   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._apply_filename_regex_columns   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_import_folder   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_paste_data_from_clipboard   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_data_load_failed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._cleanup_data_load_task_runner   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._get_recent_files   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._add_recent_file   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._update_recent_files_menu   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_open_recent_file   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py PlotterApp._on_clear_recent_files   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/main_window.py (no function)   100.0% 227 0 0   100.0% 0 0   100.0%
graphica/gui/mathtext_preview.py _has_mathtext   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mathtext_preview.py families_for_text   87.5% 8 1 0   83.3% 6 1   85.7%
graphica/gui/mathtext_preview.py families_for_texts   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/mathtext_preview.py font_kwargs_for_text   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/mathtext_preview.py render_mathtext_to_pixmap   42.9% 7 4 0   25.0% 4 1   36.4%
graphica/gui/mathtext_preview.py _render_once   68.4% 19 6 0   100.0% 0 0   68.4%
graphica/gui/mathtext_preview.py FitWidthPixmapLabel.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mathtext_preview.py FitWidthPixmapLabel.set_natural_pixmap   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mathtext_preview.py FitWidthPixmapLabel._apply_fitted_pixmap   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/mathtext_preview.py FitWidthPixmapLabel.resizeEvent   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mathtext_preview.py _crop_to_content   100.0% 12 0 0   100.0% 2 0   100.0%
graphica/gui/mathtext_preview.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/menu_bar.py _add_undo_redo   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/menu_bar.py _add_command_palette   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/menu_bar.py _add_bottom_panel_items   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/menu_bar.py _resolve   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/menu_bar.py _set_attr   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/menu_bar.py _add_items   97.1% 34 1 0   95.5% 22 1   96.4%
graphica/gui/menu_bar.py _hold_menu   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/menu_bar.py _connect_on_show   100.0% 4 0 0   75.0% 4 1   87.5%
graphica/gui/menu_bar.py _add_top_menu   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/menu_bar.py _add_plugin_menu   47.8% 46 24 0   42.9% 28 4   45.9%
graphica/gui/menu_bar.py build_menu_bar   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/menu_bar.py (no function)   100.0% 59 0 0   100.0% 0 0   100.0%
graphica/gui/minimap_widget.py minimap_colors   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget.__init__   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget._configure_axes_style   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget._create_span_selector   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget._apply_theme_colors   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget._on_select   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget._downsample_for_overview   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/minimap_widget.py MinimapWidget.refresh   81.2% 32 6 0   91.7% 12 1   84.1%
graphica/gui/minimap_widget.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/export_mixin.py _project_has_raster_gradient_fill   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/export_mixin.py ExportMixin._on_copy_plot_to_clipboard   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/export_mixin.py ExportMixin._on_show_cvd_simulation   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/export_mixin.py ExportMixin._on_print_plot   86.7% 30 4 0   66.7% 6 2   83.3%
graphica/gui/mixins/export_mixin.py ExportMixin._on_batch_export   100.0% 37 0 0   100.0% 12 0   100.0%
graphica/gui/mixins/export_mixin.py ExportMixin._cleanup_batch_export_task_runner   100.0% 4 0 0   50.0% 2 1   83.3%
graphica/gui/mixins/export_mixin.py ExportMixin._on_batch_export_failed   0.0% 3 3 0   100.0% 0 0   0.0%
graphica/gui/mixins/export_mixin.py ExportMixin._on_batch_export_succeeded   90.0% 10 1 0   75.0% 4 1   85.7%
graphica/gui/mixins/export_mixin.py ExportMixin._save_figure_with_options   100.0% 13 0 0   100.0% 4 0   100.0%
graphica/gui/mixins/export_mixin.py ExportMixin._batch_export_subplots   79.2% 24 5 0   62.5% 8 3   75.0%
graphica/gui/mixins/export_mixin.py ExportMixin._batch_export_project_files   71.9% 32 9 0   50.0% 12 4   65.9%
graphica/gui/mixins/export_mixin.py ExportMixin._on_export_python_script   100.0% 15 0 0   100.0% 4 0   100.0%
graphica/gui/mixins/export_mixin.py ExportMixin._on_generate_caption   100.0% 7 0 0   50.0% 2 1   88.9%
graphica/gui/mixins/export_mixin.py ExportMixin._on_generate_report   100.0% 25 0 0   87.5% 8 1   97.0%
graphica/gui/mixins/export_mixin.py ExportMixin._write_pdf_report   83.3% 12 2 0   25.0% 4 1   68.8%
graphica/gui/mixins/export_mixin.py ExportMixin._on_export_plot   95.6% 45 2 0   100.0% 18 0   96.8%
graphica/gui/mixins/export_mixin.py ExportMixin._generate_preview   91.4% 35 3 0   83.3% 6 1   90.2%
graphica/gui/mixins/export_mixin.py ExportMixin._calculate_size_in_inches   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/export_mixin.py (no function)   100.0% 50 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_show_about   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_show_help   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_show_calc_help   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_show_shortcuts   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_export_diagnostic_bundle   100.0% 14 0 0   100.0% 4 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._start_startup_update_check   85.7% 7 1 0   50.0% 2 1   77.8%
graphica/gui/mixins/help_mixin.py HelpMixin._on_startup_update_check_succeeded   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_startup_update_check_failed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_check_plugin_updates   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_check_for_update   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_manual_update_check_succeeded   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_manual_update_check_failed   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._show_update_available_dialog   100.0% 11 0 0   87.5% 8 1   94.7%
graphica/gui/mixins/help_mixin.py HelpMixin._start_update_download   87.5% 16 2 0   50.0% 2 1   83.3%
graphica/gui/mixins/help_mixin.py HelpMixin._on_update_download_progress   0.0% 3 3 0   0.0% 2 0   0.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_update_downloaded   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._on_update_download_failed   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/help_mixin.py HelpMixin._install_downloaded_update   62.5% 8 3 0   100.0% 2 0   70.0%
graphica/gui/mixins/help_mixin.py (no function)   100.0% 34 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/project_io_mixin.py read_style_template   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/project_io_mixin.py _apply_dataset_style   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_save_project   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_save_project_as   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_load_project   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_configure_autosave_interval   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._apply_autosave_interval   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_show_preferences   97.9% 47 1 0   91.7% 24 2   95.8%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._update_autosave_menu_text   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_save_plot_template   93.8% 16 1 0   66.7% 6 2   86.4%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_load_plot_template   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._apply_plot_template   100.0% 25 0 0   100.0% 18 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._apply_default_style_template   87.5% 16 2 0   66.7% 6 2   81.8%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._style_imported_dataset   100.0% 8 0 0   75.0% 4 1   91.7%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._forget_default_style_template   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_export_settings   78.6% 14 3 0   100.0% 4 0   83.3%
graphica/gui/mixins/project_io_mixin.py ProjectIOMixin._on_import_settings   92.6% 27 2 0   91.7% 12 1   92.3%
graphica/gui/mixins/project_io_mixin.py (no function)   100.0% 34 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py quick_access_action_identifier   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._create_quick_access_toolbar   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._quick_access_pinnable_menus   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._install_quick_access_context_menus   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._resolve_quick_access_menu_target   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._on_quick_access_menu_context_menu   100.0% 11 0 0   100.0% 4 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._get_pinned_quick_access_ids   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._set_pinned_quick_access_ids   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._migrate_pinned_quick_access_ids   100.0% 16 0 0   100.0% 8 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._restore_quick_access_actions   100.0% 11 0 0   100.0% 8 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._add_action_to_quick_access_toolbar   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin.pin_quick_access_action   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin.unpin_quick_access_action   100.0% 7 0 0   50.0% 4 2   81.8%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin.is_quick_access_pinned   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._on_manage_quick_access   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/quick_access_mixin.py QuickAccessMixin._on_manage_quick_access.toggle   100.0% 6 0 0   83.3% 6 1   91.7%
graphica/gui/mixins/quick_access_mixin.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._connect_signals   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._create_menu_bar   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._populate_dataset_menu   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._collect_menu_actions   100.0% 10 0 0   75.0% 4 1   92.9%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._collect_menu_actions.walk   100.0% 12 0 0   83.3% 12 2   91.7%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._on_show_command_palette   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._on_toggle_dark_mode   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin.refresh_theme_colors   81.8% 11 2 0   66.7% 6 2   76.5%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._sync_dark_mode_to_sibling_tabs   88.9% 18 2 0   80.0% 10 2   85.7%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._refresh_custom_svg_icons   100.0% 25 0 0   75.0% 24 6   87.8%
graphica/gui/mixins/ui_setup_mixin.py UISetupMixin._set_initial_ui_state   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/mixins/ui_setup_mixin.py (no function)   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py information   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py warning   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py critical   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py question   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py about   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/notify.py get_open_file_name   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py get_open_file_names   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py get_save_file_name   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py get_existing_directory   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py get_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py get_int   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py get_double   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/notify.py get_item   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/notify.py (no function)   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/panels/__init__.py create_panels   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/__init__.py _PanelName.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/__init__.py _PanelName.__get__   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/panels/__init__.py _PanelName.__set__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/__init__.py expose_panel_names   80.0% 5 1 0   83.3% 6 1   81.8%
graphica/gui/panels/__init__.py (no function)   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py _resolve_font_family_for_matplotlib   100.0% 17 0 0   100.0% 4 0   100.0%
graphica/gui/panels/axis_settings.py _order_labels   0.0% 5 5 0   0.0% 2 0   0.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel.__init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_layout_changed   96.0% 25 1 0   78.6% 14 3   89.7%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_share_axis_changed   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_active_axis_changed   85.7% 7 1 0   50.0% 2 1   77.8%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_axis_setting_changed   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._update_subplot_combos   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._seed_min_max_spinboxes   88.9% 9 1 0   50.0% 2 1   81.8%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._current_active_axis   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_x_autoscale_enabled_state   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_y_autoscale_enabled_state   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_x_autoscale_changed   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_y_autoscale_changed   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_x_tick_mode_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_x_tick_mode_state   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_y_tick_mode_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_y_tick_mode_state   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_x_minor_tick_visibility_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_x_minor_tick_state   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_y_minor_tick_visibility_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_y_minor_tick_state   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_y2_axis_state   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_y2_axis_state_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_y2_autoscale_changed   100.0% 7 0 0   50.0% 2 1   88.9%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_legend_visibility_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_legend_state   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._grid_linestyle_code   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._grid_linestyle_index   75.0% 4 1 0   75.0% 4 1   75.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_grid_visibility_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_grid_state   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._warn_if_font_family_unavailable_for_graph   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._ask_font   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_tick_font   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_tick_color   0.0% 4 4 0   0.0% 2 0   0.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_axis_label_font   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_axis_label_color   0.0% 4 4 0   0.0% 2 0   0.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_legend_font   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_legend_color   0.0% 4 4 0   0.0% 2 0   0.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_change_spine_color   0.0% 4 4 0   0.0% 2 0   0.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._open_label_edit_dialog   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_label_preview   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._refresh_all_label_previews   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_legend_loc_changed   100.0% 4 0 0   50.0% 2 1   83.3%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_legend_drag_release   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._store_dragged_legend_positions   88.2% 17 2 0   70.0% 10 3   81.5%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._on_edit_legend_order   0.0% 17 17 0   0.0% 8 0   0.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._font_props_to_dict   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._gather_settings_from_ui   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._apply_settings_to_ui_controls   100.0% 17 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._block_all_signals   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._connect_layout_signals   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py AxisSettingsPanel._connect_axis_setting_signals   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/panels/axis_settings.py (no function)   100.0% 70 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel.__init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_add_dataset   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_create_new_dataset   100.0% 12 0 0   100.0% 2 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_dataset_search_changed   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_new_folder   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_rename_dataset_folder   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._set_folder_datasets_visibility   100.0% 11 0 0   100.0% 8 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._set_all_datasets_visibility   100.0% 10 0 0   75.0% 8 2   88.9%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_show_all_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_hide_all_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_show_all_in_folder   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_hide_all_in_folder   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_dataset_tree_context_menu   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._top_level_selected_items   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_remove_dataset   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._find_dataset_row   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_dataset_items_dropped   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_dataset_rows_moved   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._sync_dataset_order_to_tree   83.3% 12 2 0   83.3% 6 1   83.3%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_dataset_order_applied   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._sync_dataset_list_and_replot   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._refresh_after_dataset_property_change   97.4% 38 1 0   75.0% 20 5   89.7%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._push_dataset_property_command   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_duplicate_dataset   100.0% 12 0 0   100.0% 4 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_duplicate_dataset.add   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_show_data_editor   100.0% 17 0 0   100.0% 6 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._on_dataset_tree_item_clicked   100.0% 16 0 0   100.0% 10 0   100.0%
graphica/gui/panels/dataset_tree.py DatasetTreePanel._connect_dataset_signals   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/panels/dataset_tree.py (no function)   100.0% 48 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py _uses_line_gradient   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py _gradient_line   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py _plain_line   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py _markers   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py _mapped_markers   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/plot_type_drawers.py draw_line   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/plot_type_drawers.py draw_scatter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py draw_line_and_scatter   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/plot_type_drawers.py draw_area   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/gui/plot_type_drawers.py draw_bar   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py draw_step   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plot_type_drawers.py draw_density_scatter   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/plot_type_drawers.py draw_color_by_column   88.9% 9 1 0   83.3% 6 1   86.7%
graphica/gui/plot_type_drawers.py (no function)   100.0% 20 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext._app   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/plugin_context.py TabPluginContext.datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.current_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.selected_datasets   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.add_dataset   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.set_dataset_properties   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.undo_group   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/gui/plugin_context.py TabPluginContext._start_pending_undo_group   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.redraw   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.on_datasets_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.on_selection_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext._notify_datasets_changed   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_context.py TabPluginContext._notify_selection_changed   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_context.py TabPluginContext._call_isolated   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.parent_widget   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/plugin_context.py TabPluginContext.show_message   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/plugin_context.py TabPluginContext.show_error   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/plugin_context.py TabPluginContext.data_dir   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.named_colors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.set_named_colors   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.color_palettes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.set_color_palettes   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.active_color_cycle   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py TabPluginContext.set_active_color_palette   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_context.py (no function)   100.0% 43 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_update_flow.py _today   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_update_flow.py _start_check   87.5% 8 1 0   50.0% 2 1   80.0%
graphica/gui/plugin_update_flow.py _finish   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_update_flow.py start_startup_check   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_update_flow.py start_startup_check.succeeded   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/plugin_update_flow.py start_startup_check.failed   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/gui/plugin_update_flow.py check_now   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/plugin_update_flow.py check_now.succeeded   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/gui/plugin_update_flow.py check_now.failed   0.0% 3 3 0   100.0% 0 0   0.0%
graphica/gui/plugin_update_flow.py offer_updates   85.7% 7 1 0   50.0% 4 2   72.7%
graphica/gui/plugin_update_flow.py download_and_install   78.3% 23 5 0   60.0% 10 4   72.7%
graphica/gui/plugin_update_flow.py apply_updates   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/plugin_update_flow.py _on_installed   68.8% 16 5 0   37.5% 8 3   58.3%
graphica/gui/plugin_update_flow.py _on_install_failed   0.0% 3 3 0   100.0% 0 0   0.0%
graphica/gui/plugin_update_flow.py stop   25.0% 12 9 0   50.0% 2 1   28.6%
graphica/gui/plugin_update_flow.py (no function)   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py _unsaved_changes_prompt_enabled   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py check_autosave_recovery   100.0% 11 0 0   100.0% 8 0   100.0%
graphica/gui/project_files.py on_show_autosave_history   88.5% 26 3 0   92.9% 14 1   90.0%
graphica/gui/project_files.py update_autosave_path   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/project_files.py rotate_autosave_generations   72.7% 11 3 0   62.5% 8 3   68.4%
graphica/gui/project_files.py sync_project_from_ui   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py remember_saved_content   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py document_title   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/project_files.py has_unsaved_changes   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/project_files.py confirm_unsaved_changes   100.0% 21 0 0   100.0% 6 0   100.0%
graphica/gui/project_files.py auto_save   70.0% 10 3 0   100.0% 0 0   70.0%
graphica/gui/project_files.py manual_save   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/project_files.py manual_save_as   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/project_files.py save_project_to_path   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py project_file_filter   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py manual_load   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/project_files.py load_project_from_path   95.2% 42 2 0   66.7% 6 2   91.7%
graphica/gui/project_files.py get_recent_files   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py add_recent_file   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/project_files.py update_recent_files_menu   86.7% 15 2 0   100.0% 4 0   89.5%
graphica/gui/project_files.py on_open_recent_file   100.0% 13 0 0   87.5% 8 1   95.2%
graphica/gui/project_files.py on_clear_recent_files   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/project_files.py (no function)   100.0% 38 0 0   100.0% 0 0   100.0%
graphica/gui/provenance_panel.py ProvenancePanel.__init__   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/provenance_panel.py ProvenancePanel.refresh   100.0% 11 0 0   100.0% 2 0   100.0%
graphica/gui/provenance_panel.py ProvenancePanel._add_provenance_children   100.0% 16 0 0   100.0% 6 0   100.0%
graphica/gui/provenance_panel.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/annotations.py draw_panel_label   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/annotations.py panel_label_for_index   100.0% 9 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/annotations.py downsample_for_inset   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/annotations.py fit_inset_y_range   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/annotations.py _bbox_corners   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/annotations.py choose_inset_connector_corners   94.4% 18 1 0   91.7% 12 1   93.3%
graphica/gui/rendering/annotations.py inset_connector_corners   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/annotations.py _box_corner_label   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/annotations.py _secondary_axis   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/annotations.py _map_between_y_axes   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/annotations.py _inset_points   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/annotations.py _make_inset_secondary   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/annotations.py draw_inset   100.0% 48 0 0   100.0% 24 0   100.0%
graphica/gui/rendering/annotations.py annotation_render_key   100.0% 22 0 0   100.0% 16 0   100.0%
graphica/gui/rendering/annotations.py draw_annotations   100.0% 47 0 0   100.0% 20 0   100.0%
graphica/gui/rendering/annotations.py (no function)   100.0% 26 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py apply_appearance   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py range_signature   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py apply_view_override   100.0% 11 0 0   100.0% 6 0   100.0%
graphica/gui/rendering/appearance.py apply_axis_range   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/appearance.py waterfall_x_shift   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py apply_limits_and_scale   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/appearance.py apply_tick_locators   100.0% 37 0 0   100.0% 20 0   100.0%
graphica/gui/rendering/appearance.py axis_text_and_line_style   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py apply_titles_and_labels   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/appearance.py apply_spines_and_tick_marks   100.0% 13 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/appearance.py apply_legend   100.0% 39 0 0   88.9% 18 2   96.5%
graphica/gui/rendering/appearance.py apply_grid   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/gui/rendering/appearance.py _apply_secondary_y_limits_and_ticks   100.0% 18 0 0   92.9% 14 1   96.9%
graphica/gui/rendering/appearance.py apply_secondary_y_axis   100.0% 22 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/appearance.py apply_unit_conversion_x_axis   100.0% 15 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/appearance.py apply_unit_conversion_x_axis._forward   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py apply_unit_conversion_x_axis._inverse   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/appearance.py apply_colorbar   95.2% 21 1 0   90.0% 10 1   93.5%
graphica/gui/rendering/appearance.py (no function)   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/common.py fit_tight_layout   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/common.py fit_tight_layout.positions   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/common.py _waterfall_depth_scale   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/common.py waterfall_offset_steps   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/common.py _waterfall_layout   100.0% 15 0 0   100.0% 6 0   100.0%
graphica/gui/rendering/common.py _apply_legend_order   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/common.py _apply_nan_policy   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/common.py _legend_position_from_settings   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/common.py _compute_stat_label_text   100.0% 24 0 0   100.0% 18 0   100.0%
graphica/gui/rendering/common.py _SafeMultipleLocator.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/common.py _SafeMultipleLocator.tick_values   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/common.py _safe_multiple_locator   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/common.py _sci_each_formatter   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/common.py _sci_each_formatter._fmt   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/common.py _apply_tick_format_mode   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/rendering/common.py _apply_tick_decimal_places   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/common.py _resolve_tick_lengths   85.7% 7 1 0   75.0% 4 1   81.8%
graphica/gui/rendering/common.py (no function)   100.0% 71 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/data_1d.py draw_data   95.0% 20 1 0   87.5% 8 1   92.9%
graphica/gui/rendering/data_1d.py _waterfall_x_shift   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/data_1d.py record_x_axis_kind   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/data_1d.py draw_1d_dataset   100.0% 24 0 0   100.0% 16 0   100.0%
graphica/gui/rendering/data_1d.py waterfall_shifted_points   100.0% 11 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/data_1d.py downsample_for_display   85.7% 7 1 0   75.0% 4 1   81.8%
graphica/gui/rendering/data_1d.py draw_smoothed   100.0% 28 0 0   100.0% 12 0   100.0%
graphica/gui/rendering/data_1d.py draw_plot_type   100.0% 16 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/data_1d.py draw_error_display   93.3% 15 1 0   83.3% 12 2   88.9%
graphica/gui/rendering/data_1d.py draw_point_labels   100.0% 18 0 0   100.0% 16 0   100.0%
graphica/gui/rendering/data_1d.py enable_element_picking   71.4% 7 2 0   100.0% 4 0   81.8%
graphica/gui/rendering/data_1d.py add_gradient_line   100.0% 13 0 0   100.0% 2 0   100.0%
graphica/gui/rendering/data_1d.py add_gradient_fill   100.0% 17 0 0   100.0% 4 0   100.0%
graphica/gui/rendering/data_1d.py (no function)   100.0% 26 0 0   100.0% 0 0   100.0%
graphica/gui/rendering/data_2d.py draw_2d_data   90.6% 32 3 0   93.8% 16 1   91.7%
graphica/gui/rendering/data_2d.py (no function)   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/residual_panel.py ResidualPanel.__init__   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/residual_panel.py ResidualPanel.refresh   100.0% 22 0 0   100.0% 6 0   100.0%
graphica/gui/residual_panel.py (no function)   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/resources.py resource_path   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/resources.py (no function)   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/shell/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py _GripHandle.paintEvent   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py CenterSplitter.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py CenterSplitter.createHandle   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.__init__   100.0% 38 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.add_page   100.0% 26 0 0   100.0% 2 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.show_page   87.5% 8 1 0   75.0% 4 1   83.3%
graphica/gui/shell/bottom_panel.py BottomPanel.current_page   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.set_badge   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.badge_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.set_meta   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.is_collapsed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.set_collapsed   100.0% 14 0 0   100.0% 6 0   100.0%
graphica/gui/shell/bottom_panel.py BottomPanel.refresh_icons   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/shell/bottom_panel.py _PanelLogHandler.__init__   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py _PanelLogHandler.emit   50.0% 4 2 0   100.0% 0 0   50.0%
graphica/gui/shell/bottom_panel.py LogView.__init__   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py _build_data_table   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/shell/bottom_panel.py _build_data_table._fix_row_number_column   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/shell/bottom_panel.py build_bottom_panel   100.0% 20 0 0   100.0% 4 0   100.0%
graphica/gui/shell/bottom_panel.py refresh_bottom_panel   94.1% 17 1 0   83.3% 6 1   91.3%
graphica/gui/shell/bottom_panel.py refresh_theme   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/gui/shell/bottom_panel.py highlight_table_row   85.7% 7 1 0   75.0% 4 1   81.8%
graphica/gui/shell/bottom_panel.py (no function)   100.0% 45 0 0   100.0% 0 0   100.0%
graphica/gui/shell/dataset_page.py _ghost   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/shell/dataset_page.py _take_all   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/shell/dataset_page.py _dataset_items   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage.__init__   100.0% 104 0 0   100.0% 10 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage._card_row   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage._extend_overflow_menu   100.0% 13 0 0   100.0% 4 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage._sync_overflow_enabled   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage.refresh_count   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage.set_stats   100.0% 17 0 0   100.0% 6 0   100.0%
graphica/gui/shell/dataset_page.py DatasetPage.refresh_icons   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/shell/dataset_page.py (no function)   100.0% 23 0 0   100.0% 0 0   100.0%
graphica/gui/shell/header.py _header_button   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/shell/header.py _separator   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/shell/header.py AppHeader.__init__   100.0% 52 0 0   100.0% 4 0   100.0%
graphica/gui/shell/header.py AppHeader._make_search_button   100.0% 21 0 0   100.0% 2 0   100.0%
graphica/gui/shell/header.py AppHeader.set_mode   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/shell/header.py AppHeader.refresh_icons   100.0% 6 0 0   75.0% 4 1   90.0%
graphica/gui/shell/header.py (no function)   100.0% 17 0 0   100.0% 0 0   100.0%
graphica/gui/shell/icons.py themed_icon   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/icons.py checkable_icon   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/shell/icons.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py scroll_page   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py wrap_long_rows   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/shell/inspector.py TargetHeader.__init__   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py TargetHeader.set_dataset   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/shell/inspector.py section_state_texts   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/shell/inspector.py Inspector.__init__   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py Inspector.add_page   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py Inspector.page_index   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py Inspector.show_page   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py Inspector.current_page   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/shell/inspector.py Inspector.set_page_visible   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/shell/inspector.py Inspector.is_page_visible   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/shell/inspector.py (no function)   100.0% 21 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.__init__   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.tabBar   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs._on_bar_current_changed   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/shell/project_tabs.py ProjectTabs._on_tab_moved   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.addTab   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.removeTab   75.0% 4 1 0   50.0% 2 1   66.7%
graphica/gui/shell/project_tabs.py ProjectTabs.widget   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.indexOf   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.count   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.currentIndex   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.setCurrentIndex   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.currentWidget   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.setCurrentWidget   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/shell/project_tabs.py ProjectTabs.tabText   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.setTabText   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.setTabsClosable   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py ProjectTabs.setMovable   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/project_tabs.py (no function)   100.0% 22 0 0   100.0% 0 0   100.0%
graphica/gui/shell/rail.py _rail_button   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/shell/rail.py ActivityRail.__init__   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/shell/rail.py ActivityRail.add_page   100.0% 10 0 0   100.0% 2 0   100.0%
graphica/gui/shell/rail.py ActivityRail.add_bottom_button   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/shell/rail.py ActivityRail.page_button   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/rail.py ActivityRail.current_page   75.0% 4 1 0   75.0% 4 1   75.0%
graphica/gui/shell/rail.py ActivityRail.select_page   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/shell/rail.py ActivityRail.refresh_icons   80.0% 5 1 0   75.0% 4 1   77.8%
graphica/gui/shell/rail.py (no function)   100.0% 15 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py theme_color_preview   100.0% 9 0 0   100.0% 4 0   100.0%
graphica/gui/shell/settings_popover.py _Swatch.__init__   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py _Swatch.paintEvent   0.0% 18 18 0   0.0% 2 0   0.0%
graphica/gui/shell/settings_popover.py _ColorChip.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py _ColorChip.set_color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py SettingsPopover.__init__   100.0% 100 0 0   100.0% 4 0   100.0%
graphica/gui/shell/settings_popover.py SettingsPopover.current_color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py SettingsPopover.choose   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py SettingsPopover.refresh   100.0% 15 0 0   100.0% 2 0   100.0%
graphica/gui/shell/settings_popover.py SettingsPopover._on_custom   100.0% 4 0 0   50.0% 2 1   83.3%
graphica/gui/shell/settings_popover.py SettingsPopover._on_preferences   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/gui/shell/settings_popover.py SettingsPopover.open_beside   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/shell/settings_popover.py toggle_settings_popover   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/shell/settings_popover.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage.__init__   100.0% 24 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage._insert   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage.add_section   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage._row_button   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage.add_action   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage.add_action.sync   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage.add_command   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py ActionListPage.row_texts   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py build_analysis_page   100.0% 13 0 0   100.0% 2 0   100.0%
graphica/gui/shell/side_pages.py populate_side_pages   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/shell/side_pages.py build_notes_page   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py build_layout_page   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py _open_axis_settings   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py PluginPage.__init__   100.0% 35 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py PluginPage.add_panel   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/shell/side_pages.py PluginPage.show_panel   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/shell/side_pages.py PluginPage._refresh_selector   83.3% 6 1 0   75.0% 4 1   80.0%
graphica/gui/shell/side_pages.py PluginPage._on_selected   80.0% 5 1 0   50.0% 4 2   66.7%
graphica/gui/shell/side_pages.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/shell/tab_shell.py build_tab_shell   100.0% 25 0 0   100.0% 2 0   100.0%
graphica/gui/shell/tab_shell.py (no function)   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/single_instance.py server_name   0.0% 5 5 0   100.0% 0 0   0.0%
graphica/gui/single_instance.py files_to_open   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/single_instance.py instance_running   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/single_instance.py send_to_running_instance   40.0% 10 6 0   25.0% 4 1   35.7%
graphica/gui/single_instance.py InstanceServer.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/single_instance.py InstanceServer.listen   28.6% 7 5 0   25.0% 4 1   27.3%
graphica/gui/single_instance.py InstanceServer.close   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/single_instance.py InstanceServer._on_new_connection   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/single_instance.py InstanceServer._on_ready_read   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/gui/single_instance.py InstanceServer._on_disconnected   85.7% 7 1 0   50.0% 2 1   77.8%
graphica/gui/single_instance.py InstanceServer._emit_complete_lines   82.4% 17 3 0   62.5% 8 3   76.0%
graphica/gui/single_instance.py FileOpenEventFilter.eventFilter   100.0% 6 0 0   75.0% 4 1   90.0%
graphica/gui/single_instance.py (no function)   100.0% 26 0 0   100.0% 0 0   100.0%
graphica/gui/splash.py _render_background   100.0% 28 0 0   100.0% 0 0   100.0%
graphica/gui/splash.py StartupSplash.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/splash.py StartupSplash.drawContents   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/splash.py StartupSplash.show_progress   100.0% 4 0 0   50.0% 2 1   83.3%
graphica/gui/splash.py show_startup_splash   0.0% 4 4 0   100.0% 0 0   0.0%
graphica/gui/splash.py (no function)   100.0% 17 0 0   100.0% 0 0   100.0%
graphica/gui/task_runner.py TaskRunner.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/task_runner.py TaskRunner.run   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/task_runner.py TaskRunner.run._report_progress   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/task_runner.py (no function)   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py _spinbox_arrow_icon_url   100.0% 27 0 0   100.0% 4 0   100.0%
graphica/gui/theme.py build_tokens   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py tokens_for   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py heading_point_sizes   80.0% 5 1 0   50.0% 2 1   71.4%
graphica/gui/theme.py build_qss   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py _token_qcolor   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py build_palette   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/theme.py _is_toggle_switch   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle.update_tokens   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle.standardIcon   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle.standardPixmap   66.7% 3 1 0   50.0% 2 1   60.0%
graphica/gui/theme.py _FlatThemeProxyStyle.pixelMetric   100.0% 6 0 0   100.0% 6 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle.drawPrimitive   100.0% 8 0 0   100.0% 6 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle._draw_checkbox_indicator   100.0% 38 0 0   100.0% 8 0   100.0%
graphica/gui/theme.py _FlatThemeProxyStyle._draw_toggle_switch   100.0% 20 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py make_toggle_switch   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py apply_theme   100.0% 15 0 0   100.0% 6 0   100.0%
graphica/gui/theme.py current_tokens   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py current_theme_color   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py current_accent_soft_qcolor   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py install_dock_focus_highlight   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py install_dock_focus_highlight._dock_ancestor   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py install_dock_focus_highlight._set_active   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py install_dock_focus_highlight._on_focus_changed   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/theme.py apply_form_spacing   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/theme.py disable_scroll_value_change   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/theme.py disable_scroll_value_change._ignore_wheel_event   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme.py (no function)   100.0% 51 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py normalize_hex   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/theme_color.py theme_color_or_default   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py _to_rgb   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py _round_half_up   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py _to_hex   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py relative_luminance   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py relative_luminance.channel   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py contrast_ratio   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py _until_contrast   100.0% 8 0 0   75.0% 4 1   91.7%
graphica/gui/theme_color.py derive_accent   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/theme_color.py (no function)   100.0% 23 0 0   100.0% 0 0   100.0%
graphica/gui/tools/__init__.py create_tools   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/tools/__init__.py _ToolName.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/__init__.py _ToolName.__get__   66.7% 3 1 0   50.0% 2 1   60.0%
graphica/gui/tools/__init__.py _ToolName.__set__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/tools/__init__.py expose_tool_names   80.0% 5 1 0   83.3% 6 1   81.8%
graphica/gui/tools/__init__.py (no function)   100.0% 16 0 0   100.0% 0 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool.__init__   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._toggle_annotation_mode   100.0% 13 0 0   100.0% 6 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._snap_point_to_grid   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._find_axis_index   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._on_annotation_press   100.0% 8 0 0   100.0% 6 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._on_annotation_release   96.7% 30 1 0   92.9% 14 1   95.5%
graphica/gui/tools/annotation.py AnnotationTool._add_annotation   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._on_annotation_context_menu   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._choose_annotation_action   54.5% 11 5 0   16.7% 6 1   41.2%
graphica/gui/tools/annotation.py AnnotationTool._change_annotation_color   100.0% 8 0 0   100.0% 2 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._try_delete_annotation_near   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/tools/annotation.py AnnotationTool._find_annotation_near   96.8% 31 1 0   87.5% 16 2   93.6%
graphica/gui/tools/annotation.py AnnotationTool._confirm_and_delete_annotation   100.0% 13 0 0   100.0% 6 0   100.0%
graphica/gui/tools/annotation.py (no function)   100.0% 29 0 0   100.0% 0 0   100.0%
graphica/gui/tools/cursor.py coordinate_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/tools/cursor.py cursor_label_text   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/tools/cursor.py CursorTool.__init__   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/tools/cursor.py CursorTool._toggle_cursor_mode   100.0% 24 0 0   100.0% 12 0   100.0%
graphica/gui/tools/cursor.py CursorTool._remove_cursor_annotation   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/tools/cursor.py CursorTool._on_mouse_move   100.0% 15 0 0   100.0% 4 0   100.0%
graphica/gui/tools/cursor.py CursorTool._current_dataset_readout   90.0% 10 1 0   75.0% 4 1   85.7%
graphica/gui/tools/cursor.py CursorTool._on_element_pick   93.8% 16 1 0   92.9% 14 1   93.3%
graphica/gui/tools/cursor.py CursorTool._owning_dataset   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/tools/cursor.py CursorTool._picked_point   90.5% 21 2 0   83.3% 12 2   87.9%
graphica/gui/tools/cursor.py CursorTool._picked_row_number   80.0% 10 2 0   100.0% 4 0   85.7%
graphica/gui/tools/cursor.py CursorTool._picked_grid_value   81.8% 11 2 0   50.0% 4 2   73.3%
graphica/gui/tools/cursor.py CursorTool._on_pick   89.7% 29 3 0   85.7% 14 2   88.4%
graphica/gui/tools/cursor.py _nearest_in_pixels   71.4% 7 2 0   50.0% 4 2   63.6%
graphica/gui/tools/cursor.py (no function)   100.0% 25 0 0   100.0% 0 0   100.0%
graphica/gui/tools/layout_edit.py LayoutEditTool.__init__   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_toggle_free_layout   89.5% 19 2 0   80.0% 10 2   86.2%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_add_free_subplot   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_remove_free_subplot   84.2% 19 3 0   60.0% 10 4   75.9%
graphica/gui/tools/layout_edit.py LayoutEditTool._sync_canvas_axes_state_and_side_panels   100.0% 12 0 0   50.0% 2 1   92.9%
graphica/gui/tools/layout_edit.py LayoutEditTool._toggle_layout_edit_mode   100.0% 16 0 0   100.0% 6 0   100.0%
graphica/gui/tools/layout_edit.py LayoutEditTool._find_axis_at_point   100.0% 5 0 0   100.0% 4 0   100.0%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_layout_press   93.8% 16 1 0   83.3% 6 1   90.9%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_layout_motion   91.3% 23 2 0   75.0% 8 2   87.1%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_layout_release   80.0% 10 2 0   50.0% 4 2   71.4%
graphica/gui/tools/layout_edit.py LayoutEditTool._sync_free_layout_position_controls   100.0% 12 0 0   100.0% 4 0   100.0%
graphica/gui/tools/layout_edit.py LayoutEditTool._on_free_layout_position_spinbox_changed   90.9% 11 1 0   50.0% 2 1   84.6%
graphica/gui/tools/layout_edit.py (no function)   100.0% 20 0 0   100.0% 0 0   100.0%
graphica/gui/tools/manager.py ToolManager.__init__   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/tools/manager.py ToolManager.deactivate_others   92.9% 14 1 0   83.3% 12 2   88.5%
graphica/gui/tools/manager.py ToolManager.active_name   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/tools/manager.py (no function)   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/tools/peak_placement.py PeakPlacementTool.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/tools/peak_placement.py PeakPlacementTool._toggle_peak_placement_mode   100.0% 8 0 0   100.0% 4 0   100.0%
graphica/gui/tools/peak_placement.py PeakPlacementTool._on_peak_placement_press   95.0% 20 1 0   90.0% 10 1   93.3%
graphica/gui/tools/peak_placement.py PeakPlacementTool._draw_pending_peak_marker   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/tools/peak_placement.py PeakPlacementTool._remove_nearest_pending_peak_guess   86.4% 22 3 0   90.0% 10 1   87.5%
graphica/gui/tools/peak_placement.py PeakPlacementTool._clear_pending_peak_guesses   77.8% 9 2 0   100.0% 4 0   84.6%
graphica/gui/tools/peak_placement.py (no function)   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/tools/pointer.py legend_at   87.5% 8 1 0   83.3% 6 1   85.7%
graphica/gui/tools/pointer.py clamped_data_point   83.3% 18 3 0   75.0% 12 3   80.0%
graphica/gui/tools/pointer.py (no function)   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/range_select.py RangeSelectTool.__init__   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/tools/range_select.py RangeSelectTool._toggle_range_select_mode   100.0% 19 0 0   100.0% 8 0   100.0%
graphica/gui/tools/range_select.py RangeSelectTool._clear_range_select_preview   77.8% 9 2 0   100.0% 2 0   81.8%
graphica/gui/tools/range_select.py RangeSelectTool._on_range_select_press   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/tools/range_select.py RangeSelectTool._on_range_select_motion   95.2% 21 1 0   87.5% 8 1   93.1%
graphica/gui/tools/range_select.py RangeSelectTool._on_range_select_release   92.3% 13 1 0   75.0% 4 1   88.2%
graphica/gui/tools/range_select.py RangeSelectTool._apply_range_mask   92.0% 25 2 0   80.0% 10 2   88.6%
graphica/gui/tools/range_select.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/tools/region_highlight.py RegionHighlightTool.__init__   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/tools/region_highlight.py RegionHighlightTool._toggle_region_highlight_mode   100.0% 19 0 0   100.0% 8 0   100.0%
graphica/gui/tools/region_highlight.py RegionHighlightTool._clear_region_highlight_preview   33.3% 9 6 0   50.0% 2 1   36.4%
graphica/gui/tools/region_highlight.py RegionHighlightTool._on_region_highlight_press   92.3% 13 1 0   87.5% 8 1   90.5%
graphica/gui/tools/region_highlight.py RegionHighlightTool._on_region_highlight_motion   80.6% 31 6 0   66.7% 12 4   76.7%
graphica/gui/tools/region_highlight.py RegionHighlightTool._on_region_highlight_release   83.3% 24 4 0   66.7% 12 4   77.8%
graphica/gui/tools/region_highlight.py RegionHighlightTool._region_highlight_orientation   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/tools/region_highlight.py RegionHighlightTool._try_delete_region_near   89.3% 28 3 0   78.6% 14 3   85.7%
graphica/gui/tools/region_highlight.py (no function)   100.0% 21 0 0   100.0% 0 0   100.0%
graphica/gui/tools/slice_extraction.py SliceExtractionTool.__init__   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._toggle_slice_extraction_mode   100.0% 15 0 0   100.0% 6 0   100.0%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._clear_slice_extraction_preview   77.8% 9 2 0   100.0% 2 0   81.8%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._on_slice_extraction_press   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._on_slice_extraction_motion   85.7% 21 3 0   75.0% 8 2   82.8%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._on_slice_extraction_release   84.6% 13 2 0   66.7% 6 2   78.9%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._apply_slice_extraction   71.4% 21 6 0   75.0% 8 2   72.4%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._create_slice_dataset   100.0% 11 0 0   100.0% 0 0   100.0%
graphica/gui/tools/slice_extraction.py SliceExtractionTool._create_slice_dataset.add   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/slice_extraction.py (no function)   100.0% 20 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.__init__   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.connect   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._subplot_axes   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.subplot_index_of   87.5% 8 1 0   75.0% 8 2   81.2%
graphica/gui/tools/view_navigation.py ViewNavigationTool._invalidate_bands   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.remember_view   91.7% 12 1 0   83.3% 6 1   88.9%
graphica/gui/tools/view_navigation.py ViewNavigationTool.forget_view   100.0% 8 0 0   100.0% 6 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.forget_all_views   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._view_changed   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.remember_x_of_every_subplot   100.0% 2 0 0   100.0% 2 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.axis_bands   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._measure_bands   92.3% 13 1 0   83.3% 6 1   89.5%
graphica/gui/tools/view_navigation.py ViewNavigationTool.axis_band_at   83.3% 6 1 0   83.3% 6 1   83.3%
graphica/gui/tools/view_navigation.py ViewNavigationTool._pixel_span   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._set_limits_from_pixels   90.9% 11 1 0   83.3% 6 1   88.2%
graphica/gui/tools/view_navigation.py ViewNavigationTool.zoom_axis   85.7% 7 1 0   50.0% 2 1   77.8%
graphica/gui/tools/view_navigation.py ViewNavigationTool.reset_axis   84.6% 13 2 0   50.0% 4 2   76.5%
graphica/gui/tools/view_navigation.py ViewNavigationTool.reset_subplot   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._snapshot   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.zoom_to_rect   100.0% 13 0 0   100.0% 4 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.zoom_back   92.9% 14 1 0   83.3% 6 1   90.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._start_pan   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._pan_to   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._active_mode   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool.on_scroll   92.3% 13 1 0   75.0% 8 2   85.7%
graphica/gui/tools/view_navigation.py ViewNavigationTool.on_press   92.0% 25 2 0   86.4% 22 3   89.4%
graphica/gui/tools/view_navigation.py ViewNavigationTool._on_press_outside_plot   92.3% 13 1 0   87.5% 8 1   90.5%
graphica/gui/tools/view_navigation.py ViewNavigationTool._start_rect_zoom_from_margin   84.2% 19 3 0   66.7% 12 4   77.4%
graphica/gui/tools/view_navigation.py ViewNavigationTool.on_motion   100.0% 11 0 0   75.0% 8 2   89.5%
graphica/gui/tools/view_navigation.py ViewNavigationTool.on_release   91.7% 12 1 0   80.0% 10 2   86.4%
graphica/gui/tools/view_navigation.py ViewNavigationTool._clamp_to_plot   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._draw_rubberband   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._remove_rubberband   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/tools/view_navigation.py ViewNavigationTool._set_cursor   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/tools/view_navigation.py wheel_notches   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/tools/view_navigation.py _outer_band   70.6% 17 5 0   83.3% 6 1   73.9%
graphica/gui/tools/view_navigation.py (no function)   100.0% 59 0 0   100.0% 0 0   100.0%
graphica/gui/ui_mode.py mode_label   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/ui_mode.py initial_mode   100.0% 6 0 0   100.0% 2 0   100.0%
graphica/gui/ui_mode.py resolve   83.3% 6 1 0   75.0% 4 1   80.0%
graphica/gui/ui_mode.py apply_ui_mode   100.0% 14 0 0   75.0% 12 3   88.5%
graphica/gui/ui_mode.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/updater.py install_kind   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/gui/updater.py _is_editable_install   80.0% 10 2 0   100.0% 0 0   80.0%
graphica/gui/updater.py update_download_dir   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/updater.py download_file   100.0% 27 0 0   100.0% 10 0   100.0%
graphica/gui/updater.py _remove_quietly   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/updater.py launch_installer   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/updater.py (no function)   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/widget_translation.py _translate   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widget_translation.py translate_widget_texts   92.3% 26 2 0   88.2% 34 4   90.0%
graphica/gui/widget_translation.py (no function)   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/__init__.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/cards.py StatCard.__init__   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/cards.py StatCard.set_value   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/cards.py StatCard.value   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/cards.py SectionHeader.__init__   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/cards.py SectionHeader.set_state_text   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/widgets/cards.py SectionHeader.state_text   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/cards.py SectionHeader.paintEvent   25.0% 12 9 0   50.0% 2 1   28.6%
graphica/gui/widgets/cards.py (no function)   100.0% 14 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChip.__init__   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChip.sizeHint   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChip.paintEvent   100.0% 16 0 0   100.0% 2 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow.__init__   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow.set_colors   100.0% 13 0 0   100.0% 6 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow.minimumSizeHint   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow.resizeEvent   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow._fit_chips   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow.colors   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow.set_current_color   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/gui/widgets/color_chips.py ColorChipRow._on_chip_clicked   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/color_chips.py (no function)   100.0% 18 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py _LineSegmentButton.__init__   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py _LineSegmentButton.sizeHint   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py _LineSegmentButton.paintEvent   100.0% 13 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.__init__   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl._add_button   100.0% 14 0 0   100.0% 4 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.addItem   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.addIconItem   0.0% 4 4 0   100.0% 0 0   0.0%
graphica/gui/widgets/segmented.py SegmentedControl.addLineStyleItem   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.count   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.itemText   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.itemData   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.findData   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.currentIndex   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.currentData   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.setCurrentIndex   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/widgets/segmented.py SegmentedControl.keyPressEvent   60.0% 5 2 0   50.0% 2 1   57.1%
graphica/gui/widgets/segmented.py ComboMirror.__init__   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py ComboMirror._combo_key   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py ComboMirror.refresh   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/segmented.py ComboMirror._on_view_changed   100.0% 6 0 0   75.0% 4 1   90.0%
graphica/gui/widgets/segmented.py (no function)   100.0% 29 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/slider_spin.py SliderSpin.__init__   100.0% 22 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/slider_spin.py SliderSpin.refresh   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/slider_spin.py SliderSpin._on_slider_moved   100.0% 3 0 0   50.0% 2 1   80.0%
graphica/gui/widgets/slider_spin.py SliderSpin.setEnabled   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/slider_spin.py (no function)   100.0% 8 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py draw_glyph   100.0% 25 0 0   100.0% 12 0   100.0%
graphica/gui/widgets/type_tiles.py _TypeTile.__init__   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py _TypeTile.sizeHint   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py _TypeTile.paintEvent   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.__init__   100.0% 9 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.addTile   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.count   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.itemText   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.itemData   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.findData   100.0% 4 0 0   100.0% 4 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.currentIndex   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.currentData   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/widgets/type_tiles.py TypeTileGroup.setCurrentIndex   100.0% 10 0 0   100.0% 6 0   100.0%
graphica/gui/widgets/type_tiles.py (no function)   100.0% 21 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py is_delimited_text_file   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py is_excel_file   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py excel_engine_for   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py pandas_separator   80.0% 5 1 0   75.0% 4 1   77.8%
graphica/gui/workers.py _detect_bom_encoding   100.0% 7 0 0   100.0% 4 0   100.0%
graphica/gui/workers.py _csv_encoding_candidates   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py detect_csv_encoding   90.0% 10 1 0   50.0% 2 1   83.3%
graphica/gui/workers.py _sniff_delimiter_from_text   100.0% 7 0 0   100.0% 2 0   100.0%
graphica/gui/workers.py detect_csv_delimiter   81.8% 11 2 0   75.0% 4 1   80.0%
graphica/gui/workers.py detect_clipboard_delimiter   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py _split_numeric_row   100.0% 10 0 0   100.0% 4 0   100.0%
graphica/gui/workers.py find_numeric_table   100.0% 19 0 0   92.9% 14 1   97.0%
graphica/gui/workers.py read_numeric_table   100.0% 18 0 0   100.0% 4 0   100.0%
graphica/gui/workers.py has_numeric_column   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/gui/workers.py parse_date_columns   90.5% 21 2 0   100.0% 8 0   93.1%
graphica/gui/workers.py read_data_file   95.0% 40 2 0   100.0% 16 0   96.4%
graphica/gui/workers.py load_data_file_task   100.0% 4 0 0   100.0% 2 0   100.0%
graphica/gui/workers.py (no function)   100.0% 35 0 0   100.0% 0 0   100.0%
graphica/models/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
graphica/models/project.py _migrate_v0_to_v1   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/models/project.py _migrate_project_data   90.0% 10 1 0   83.3% 6 1   87.5%
graphica/models/project.py ProjectModel.__init__   100.0% 12 0 0   100.0% 0 0   100.0%
graphica/models/project.py ProjectModel.notify_changed   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/models/project.py ProjectModel.save_project   100.0% 5 0 0   100.0% 2 0   100.0%
graphica/models/project.py ProjectModel.load_project   100.0% 9 0 0   100.0% 6 0   100.0%
graphica/models/project.py ProjectModel._tree_to_json   100.0% 3 0 0   100.0% 2 0   100.0%
graphica/models/project.py ProjectModel._tree_from_json   100.0% 13 0 0   100.0% 8 0   100.0%
graphica/models/project.py ProjectModel._make_dataset_ids_unique   100.0% 6 0 0   100.0% 4 0   100.0%
graphica/models/project.py ProjectModel.content_fingerprint   100.0% 4 0 0   100.0% 0 0   100.0%
graphica/models/project.py ProjectModel._json_payload   100.0% 1 0 0   100.0% 0 0   100.0%
graphica/models/project.py ProjectModel._save_project_json   100.0% 3 0 0   100.0% 0 0   100.0%
graphica/models/project.py ProjectModel._load_project_json   100.0% 20 0 0   100.0% 4 0   100.0%
graphica/models/project.py (no function)   100.0% 31 0 0   100.0% 0 0   100.0%
graphica/plugin/__init__.py (no function)   100.0% 6 0 0   100.0% 0 0   100.0%
graphica/plugin/testing.py load_plugin_like_graphica   100.0% 7 0 0   100.0% 0 0   100.0%
graphica/plugin/testing.py install_zip_like_graphica   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/plugin/testing.py (no function)   100.0% 10 0 0   100.0% 0 0   100.0%
graphica/plugins/example_plugin/__init__.py _double_exp_func   0.0% 1 1 0   100.0% 0 0   0.0%
graphica/plugins/example_plugin/__init__.py _double_exp_p0   0.0% 2 2 0   100.0% 0 0   0.0%
graphica/plugins/example_plugin/__init__.py _show_dataset_point_count   0.0% 5 5 0   0.0% 2 0   0.0%
graphica/plugins/example_plugin/__init__.py register   100.0% 2 0 0   100.0% 0 0   100.0%
graphica/plugins/example_plugin/__init__.py (no function)   100.0% 5 0 0   100.0% 0 0   100.0%
graphica/sample_data/__init__.py (no function)   100.0% 0 0 0   100.0% 0 0   100.0%
Total     95.0% 20881 1045 38   88.4% 5120 472   93.7%

No items found using the specified filter.