def test_skips_headers_with_a_null_value(self, pval_names): headers = ['chr', None, 'marker', 'pval'] match = sniffers.find_column(pval_names, headers) assert match == 3
def test_finds_first_exact_match_for_synonym(self, pval_names): headers = ['chr', 'pos', 'p.value', 'marker'] match = sniffers.find_column(pval_names, headers) assert match == 2
def test_will_match_based_on_a_configurable_threshold(self, pval_names): headers = ['chr', 'marker', 'pval_score'] match = sniffers.find_column(pval_names, headers, threshold=3) assert match == 2
def test_returns_none_if_no_good_match_can_be_found(self, pval_names): headers = ['chr', 'pos', 'marker', 'pval_score'] match = sniffers.find_column(pval_names, headers) assert match is None
def test_finds_the_first_header_that_closely_matches_a_synonym( self, pval_names): headers = ['chr', 'pos', 'marker', 'p-value'] match = sniffers.find_column(pval_names, headers) assert match == 3
def test_prefers_exact_matches_over_fuzzy_matches(self, pval_names): headers = ['chr1', 'pos1', 'pvalues', 'p.value', '1marker'] match = sniffers.find_column(pval_names, headers) assert match == 3
def test_chooses_first_exact_match_when_more_than_one_is_present( self, pval_names): headers = ['chr', 'pvalue', 'p.value', 'marker'] match = sniffers.find_column(pval_names, headers) assert match == 1