def test_filter_by_length(dna_records): assert [r.id for r in SF().length(minlength=7).apply(dna_records) ] == ['DNA1', 'DNA4', 'DNA5'] assert [r.id for r in SF().length(7).apply(dna_records) ] == ['DNA1', 'DNA4', 'DNA5'] assert [r.id for r in SF().length(6, 10).apply(dna_records) ] == ['DNA3', 'DNA4'] assert SF().length(100).apply(dna_records) == []
def test_by_name_keep_false(dna_records): assert [ r.id for r in SF().name(r'.*[345]$').keep(False).apply(dna_records) ] == ['DNA1', 'DNA2']
def test_by_pattern_keep_false(dna_records): assert [r.id for r in SF().pattern('CAGW').keep(False).apply(dna_records) ] == ['DNA2']
def test_no_filter(dna_records): assert SF().keep(False).apply(dna_records) == SF().apply(dna_records)
def test_by_length_keep_false(dna_records): assert [r.id for r in SF().length(7).keep(False).apply(dna_records) ] == ['DNA2', 'DNA3'] assert [r.id for r in SF().length(maxlength=6).apply(dna_records) ] == ['DNA2', 'DNA3']
def test_filter_multi(dna_records): assert [r.id for r in SF().pattern('ACA').name(r'.*[1]$').length(7).apply(dna_records)] == \ ['DNA1'] assert SF().pattern('ACA').name(r'.*[2]$').length(7).apply( dna_records) == []
def test_filter_by_name(dna_records): assert [r.id for r in SF().name(r'.*[35]$').apply(dna_records) ] == ['DNA3', 'DNA5'] assert SF().name(r'.*[6]$').apply(dna_records) == []
def test_filter_by_pattern(dna_records): assert [r.id for r in SF().pattern('CATGW').apply(dna_records) ] == ['DNA1', 'DNA5'] assert SF().pattern('GGGGGGG').apply(dna_records) == []