Coverage report: 85%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-12 01:11 +0000

File function   statements missing excluded   coverage
annotation / annotation_row.py AnnotationRow.__init__   6 0 0   100%
annotation / annotation_row.py AnnotationRow.set_simple_static_data   21 0 0   100%
annotation / annotation_row.py AnnotationRow.set_ancillary_data   27 0 0   100%
annotation / annotation_row.py AnnotationRow.set_sample_id   1 0 0   100%
annotation / annotation_row.py AnnotationRow.set_dive_info   21 0 0   100%
annotation / annotation_row.py AnnotationRow.set_concept_info   26 3 0   88%
annotation / annotation_row.py AnnotationRow.set_media_type   3 0 0   100%
annotation / annotation_row.py AnnotationRow.set_id_comments   9 0 0   100%
annotation / annotation_row.py AnnotationRow.set_indv_count_and_cat_abundance   10 1 0   90%
annotation / annotation_row.py AnnotationRow.set_size   26 8 0   69%
annotation / annotation_row.py AnnotationRow.set_condition_comment   7 0 0   100%
annotation / annotation_row.py AnnotationRow.set_comments_and_sample   30 2 0   93%
annotation / annotation_row.py AnnotationRow.set_cmecs_geo   1 0 0   100%
annotation / annotation_row.py AnnotationRow.set_habitat   32 3 0   91%
annotation / annotation_row.py AnnotationRow.set_upon   20 10 0   50%
annotation / annotation_row.py AnnotationRow.set_id_ref   7 0 0   100%
annotation / annotation_row.py AnnotationRow.set_depth   6 0 0   100%
annotation / annotation_row.py AnnotationRow.set_temperature   4 0 0   100%
annotation / annotation_row.py AnnotationRow.set_salinity   4 0 0   100%
annotation / annotation_row.py AnnotationRow.set_oxygen   4 0 0   100%
annotation / annotation_row.py AnnotationRow.set_image_paths   41 11 0   73%
annotation / annotation_row.py AnnotationRow.set_bounding_box_uuid   3 0 0   100%
annotation / annotation_row.py (no function)   31 0 0   100%
annotation / timestamp_processor.py TimestampProcessor.__init__   4 0 0   100%
annotation / timestamp_processor.py TimestampProcessor.get_formatted_timestamp   1 0 0   100%
annotation / timestamp_processor.py (no function)   5 0 0   100%
concept / concept.py Concept.__init__   16 0 0   100%
concept / concept.py Concept.flatten_taxa_tree   8 4 0   50%
concept / concept.py Concept.load_from_record   19 10 0   47%
concept / concept.py Concept.analyze_concept_name   49 4 0   92%
concept / concept.py (no function)   7 0 0   100%
concept / concept_handler.py ConceptHandler.__init__   6 0 0   100%
concept / concept_handler.py ConceptHandler.fetch_worms   3 0 0   100%
concept / concept_handler.py ConceptHandler.fetch_worms_aphia_record   34 5 0   85%
concept / concept_handler.py ConceptHandler.find_parent   39 2 0   95%
concept / concept_handler.py ConceptHandler.find_accepted_record   23 4 0   83%
concept / concept_handler.py ConceptHandler.check_status   21 2 0   90%
concept / concept_handler.py ConceptHandler.check_status.fetch_valid_name_record   7 1 0   86%
concept / concept_handler.py ConceptHandler.fetch_worms_taxon_tree   11 1 0   91%
concept / concept_handler.py ConceptHandler.fetch_worms_vernaculars   14 1 0   93%
concept / concept_handler.py ConceptHandler.fetch_vars_synonyms   33 3 0   91%
concept / concept_handler.py (no function)   16 0 0   100%
format_and_output.py (no function)   199 199 0   0%
test / __init__.py (no function)   0 0 0   100%
test / data_for_tests.py (no function)   17 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_init   12 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_simple_static_data   22 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_ancillary_data   8 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_ancillary_data_missing_location   8 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_ancillary_data_missing_data   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_sample_id   3 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_dive_info   23 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_concept_info_no_descriptors   23 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_concept_info_descriptors   23 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_media_type   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_media_type_no_name   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_id_comments_maybe   6 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_id_comments_other   6 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_id_comments_none   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_indv_count   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_cat_abundance   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_indv_count_and_cat_abundance_none   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_size   7 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_size_no_size   7 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_size_no_match   7 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_condition_comment   6 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_condition_comment_none   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_condition_comment_damaged   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_condition_comment_dead   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_comments_simple_remark   3 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_comments_simple_size   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_comments_simple_sample   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_comments_and_sample_none   3 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_comments_and_sample   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_comments_old_vars   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_cmecs_geo   3 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_s1   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_s1_none   6 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_s1_fail   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_one_s2   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_multiple_s2   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_s2_fail   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_habitat_comment   7 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_upon_not_creature   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_upon_is_creature   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_upon_no_upon   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_id_ref   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_id_ref_none   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_id_ref_blank   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_depth   7 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_depth_missing   7 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_temperature   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_temperature_none   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_salinity   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_salinity_none   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_oxygen   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_oxygen_none   5 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_image_paths_one_no_hl   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_image_paths_one_hl_best   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_image_paths_one_hl_dense   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_image_paths_multiple   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_old_vars_image_paths   4 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_bounding_box_uuid_single   3 0 0   100%
test / test_annotation_row.py TestAnnotationRow.test_set_bounding_box_uuid_none   3 0 0   100%
test / test_annotation_row.py (no function)   64 0 0   100%
test / test_concept.py TestConcept.test_init   16 0 0   100%
test / test_concept.py TestConcept.test_flatten_tree   3 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_simple   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_cf_end   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_slash   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_cf_mid   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_sp_one   7 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_sp_two   7 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_nr_one   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_nr_two   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_aff_one   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_aff_two   6 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_new_sp   7 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_new_sub_sp   7 0 0   100%
test / test_concept.py TestConcept.test_analyze_concept_name_new_gen   7 0 0   100%
test / test_concept.py TestConcept.test_load_from_record   12 0 0   100%
test / test_concept.py (no function)   20 0 0   100%
test / test_concept_handler.py MockResponse.__init__   8 0 0   100%
test / test_concept_handler.py MockResponse.json   40 3 0   92%
test / test_concept_handler.py mocked_requests_get   1 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_init   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_aphia_record_simple   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_aphia_record_egg   10 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_aphia_record_no_match   4 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_aphia_record_extra_bits   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_find_parent_simple   3 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_find_parent_simple_fail   3 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_find_parent_slash_name   3 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_find_parent_slash_name_fail   3 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_find_accepted_record   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_find_accepted_record_no_match   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_check_status_accepted   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_check_status_unaccepted   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_check_status_other_same_valid_name   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_check_status_other_different_valid_name   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_taxon_tree   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_taxon_tree_egg   4 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_taxon_tree_no_match   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_vernaculars   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_vernaculars_egg   4 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_vernaculars_no_eng   6 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_worms_vernaculars_none   5 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_vars_synonyms_simple   4 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_vars_synonyms_complex   7 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_vars_synonyms_egg   4 0 0   100%
test / test_concept_handler.py TestConceptHandler.test_fetch_vars_synonyms_none   4 0 0   100%
test / test_concept_handler.py (no function)   56 0 0   100%
test / test_functions.py TestFunctions.test_get_association   2 0 0   100%
test / test_functions.py TestFunctions.test_get_association_none   2 0 0   100%
test / test_functions.py TestFunctions.test_get_associations_list   2 0 0   100%
test / test_functions.py TestFunctions.test_get_associations_list_none   2 0 0   100%
test / test_functions.py TestFunctions.test_grain_size   3 0 0   100%
test / test_functions.py TestFunctions.test_grain_size_no_match   2 0 0   100%
test / test_functions.py TestFunctions.test_get_date_time   2 0 0   100%
test / test_functions.py TestFunctions.test_parse_datetime_micro   2 0 0   100%
test / test_functions.py TestFunctions.test_parse_datetime_no_micro   2 0 0   100%
test / test_functions.py TestFunctions.test_parse_datetime_fail   2 0 0   100%
test / test_functions.py TestFunctions.test_extract_time_no_micro   2 0 0   100%
test / test_functions.py TestFunctions.test_extract_time_round_up   2 0 0   100%
test / test_functions.py TestFunctions.test_extract_time_round_down   2 0 0   100%
test / test_functions.py TestFunctions.test_extract_uuid   2 0 0   100%
test / test_functions.py TestFunctions.test_add_meters_no_m   2 0 0   100%
test / test_functions.py TestFunctions.test_add_meters_m   2 0 0   100%
test / test_functions.py TestFunctions.test_convert_username_to_name   2 0 0   100%
test / test_functions.py TestFunctions.test_convert_username_to_name_fail   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_same   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_tube   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_simple   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_complex1   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_complex2   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_complex3   2 0 0   100%
test / test_functions.py TestFunctions.test_translate_substrate_code_fail   2 0 0   100%
test / test_functions.py TestFunctions.test_collapse_id_records   3 0 0   100%
test / test_functions.py TestFunctions.test_collapse_id_records_none   3 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_host_before   3 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_host_same_time   3 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_host_future   5 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_prev_dive   4 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_host_same_concept   3 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_multiple_associates   3 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_upon_not_in_concepts   4 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_upon_over_one_min   4 0 0   100%
test / test_functions.py TestFunctions.test_find_associated_taxa_upon_over_five_mins   4 0 0   100%
test / test_functions.py (no function)   41 0 0   100%
test / test_timestamp_processor.py TestTimestampProcessor.test_init   2 0 0   100%
test / test_timestamp_processor.py TestTimestampProcessor.test_init_round_down   2 0 0   100%
test / test_timestamp_processor.py TestTimestampProcessor.test_init_round_up   2 0 0   100%
test / test_timestamp_processor.py TestTimestampProcessor.test_init_fail   2 0 0   100%
test / test_timestamp_processor.py TestTimestampProcessor.test_get_formatted_timestamp   2 0 0   100%
test / test_timestamp_processor.py (no function)   9 0 0   100%
util / constants.py (no function)   36 0 0   100%
util / functions.py get_association   4 0 0   100%
util / functions.py get_associations_list   5 0 0   100%
util / functions.py grain_size   4 0 0   100%
util / functions.py get_date_and_time   1 0 0   100%
util / functions.py parse_datetime   3 0 0   100%
util / functions.py extract_time   8 1 0   88%
util / functions.py extract_uuid   1 0 0   100%
util / functions.py add_meters   3 0 0   100%
util / functions.py convert_username_to_name   10 3 0   70%
util / functions.py translate_substrate_code   42 7 0   83%
util / functions.py collapse_id_records   28 4 0   86%
util / functions.py find_associated_taxa   36 0 0   100%
util / functions.py (no function)   16 0 0   100%
util / terminal_output.py Messages.dive_not_found   1 1 0   0%
util / terminal_output.py (no function)   30 10 0   67%
Total     2064 303 0   85%

No items found using the specified filter.