44from mavedb .lib .annotation .util import (
55 variation_from_mapped_variant ,
66 _can_annotate_variant_base_assumptions ,
7- _variant_score_ranges_have_required_keys_for_annotation ,
7+ _variant_score_ranges_have_required_keys_and_ranges_for_annotation ,
88 can_annotate_variant_for_functional_statement ,
99 can_annotate_variant_for_pathogenicity_evidence ,
1010)
1111
12- from tests .helpers .constants import TEST_VALID_POST_MAPPED_VRS_ALLELE , TEST_SEQUENCE_LOCATION_ACCESSION
12+ from tests .helpers .constants import (
13+ TEST_VALID_POST_MAPPED_VRS_ALLELE ,
14+ TEST_SEQUENCE_LOCATION_ACCESSION ,
15+ TEST_BRNICH_SCORE_SET_RANGE_WITH_SOURCE ,
16+ )
1317from unittest .mock import patch
1418
1519
@@ -53,28 +57,35 @@ def test_score_range_check_returns_false_when_keys_are_none(mock_mapped_variant)
5357 mock_mapped_variant .variant .score_set .score_ranges = None
5458 key_options = ["required_key1" , "required_key2" ]
5559
56- assert _variant_score_ranges_have_required_keys_for_annotation (mock_mapped_variant , key_options ) is False
60+ assert _variant_score_ranges_have_required_keys_and_ranges_for_annotation (mock_mapped_variant , key_options ) is False
5761
5862
5963def test_score_range_check_returns_false_when_no_keys_present (mock_mapped_variant ):
60- mock_mapped_variant .variant .score_set .score_ranges = {"other_key" : "value" }
64+ mock_mapped_variant .variant .score_set .score_ranges = {"other_key" : TEST_BRNICH_SCORE_SET_RANGE_WITH_SOURCE }
6165 key_options = ["required_key1" , "required_key2" ]
6266
63- assert _variant_score_ranges_have_required_keys_for_annotation (mock_mapped_variant , key_options ) is False
67+ assert _variant_score_ranges_have_required_keys_and_ranges_for_annotation (mock_mapped_variant , key_options ) is False
6468
6569
6670def test_score_range_check_returns_false_when_key_present_but_value_is_none (mock_mapped_variant ):
6771 mock_mapped_variant .variant .score_set .score_ranges = {"required_key1" : None }
6872 key_options = ["required_key1" , "required_key2" ]
6973
70- assert _variant_score_ranges_have_required_keys_for_annotation (mock_mapped_variant , key_options ) is False
74+ assert _variant_score_ranges_have_required_keys_and_ranges_for_annotation (mock_mapped_variant , key_options ) is False
75+
76+
77+ def test_score_range_check_returns_false_when_key_present_but_range_value_is_empty (mock_mapped_variant ):
78+ mock_mapped_variant .variant .score_set .score_ranges = {"required_key1" : {"ranges" : []}}
79+ key_options = ["required_key1" , "required_key2" ]
80+
81+ assert _variant_score_ranges_have_required_keys_and_ranges_for_annotation (mock_mapped_variant , key_options ) is False
7182
7283
7384def test_score_range_check_returns_none_when_at_least_one_key_has_value (mock_mapped_variant ):
74- mock_mapped_variant .variant .score_set .score_ranges = {"required_key1" : "value" }
85+ mock_mapped_variant .variant .score_set .score_ranges = {"required_key1" : TEST_BRNICH_SCORE_SET_RANGE_WITH_SOURCE }
7586 key_options = ["required_key1" , "required_key2" ]
7687
77- assert _variant_score_ranges_have_required_keys_for_annotation (mock_mapped_variant , key_options ) is True
88+ assert _variant_score_ranges_have_required_keys_and_ranges_for_annotation (mock_mapped_variant , key_options ) is True
7889
7990
8091## Test clinical range check
@@ -89,7 +100,7 @@ def test_clinical_range_check_returns_false_when_base_assumptions_fail(mock_mapp
89100
90101@pytest .mark .parametrize ("clinical_ranges" , [["clinical_range" ], ["other_clinical_range" ]])
91102def test_clinical_range_check_returns_false_when_clinical_ranges_check_fails (mock_mapped_variant , clinical_ranges ):
92- mock_mapped_variant .variant .score_set .score_ranges = {"unrelated_key" : "value" }
103+ mock_mapped_variant .variant .score_set .score_ranges = {"unrelated_key" : TEST_BRNICH_SCORE_SET_RANGE_WITH_SOURCE }
93104
94105 with patch ("mavedb.lib.annotation.util.CLINICAL_RANGES" , clinical_ranges ):
95106 result = can_annotate_variant_for_pathogenicity_evidence (mock_mapped_variant )
@@ -116,7 +127,7 @@ def test_functional_range_check_returns_false_when_base_assumptions_fail(mock_ma
116127def test_functional_range_check_returns_false_when_functional_ranges_check_fails (
117128 mock_mapped_variant , functional_ranges
118129):
119- mock_mapped_variant .variant .score_set .score_ranges = {"unrelated_key" : "value" }
130+ mock_mapped_variant .variant .score_set .score_ranges = {"unrelated_key" : TEST_BRNICH_SCORE_SET_RANGE_WITH_SOURCE }
120131
121132 with patch ("mavedb.lib.annotation.util.FUNCTIONAL_RANGES" , functional_ranges ):
122133 result = can_annotate_variant_for_functional_statement (mock_mapped_variant )
0 commit comments