def test_duplicatePosition_raisesError(self): stream = StringIO( "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n" "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n" ) with pytest.raises(IndexError): load_panel(stream)
def test_headerOnly_returnsEmpty(self): stream = StringIO("header,line\n") actual = load_panel(stream, no_header=False) expected = dict() assert actual == expected
def test_emptyFile_returnsEmpty(self): stream = StringIO() actual = load_panel(stream) expected = dict() assert actual == expected
def test_noHeader_allPanelVariantsInPanel(self): stream = StringIO( "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n" "lineage1.1,4404247,1056,G/A,352,CTG/CTA,L/L,Rv3915,-" ) actual = load_panel(stream) expected = { 615938: PanelVariant( Lineage("1"), 615938, "G", "A", "Rv0524", "hemL", 1104 ), 4404247: PanelVariant( Lineage("1", "1"), 4404247, "G", "A", "Rv3915", "-", 1056 ), } assert actual == expected
def test_fileWithNoIssues_loadsOk(self): stream = StringIO( "lineage,position,gene_coord,allele_change,codon_number,codon_change,amino_acid_change,locus_id,gene_name\n" "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n" "lineage1.1,4404247,1056,G/A,352,CTG/CTA,L/L,Rv3915,-" ) actual = load_panel(stream, no_header=False) expected = { 615938: PanelVariant( Lineage("1"), 615938, "G", "A", "Rv0524", "hemL", 1104 ), 4404247: PanelVariant( Lineage("1", "1"), 4404247, "G", "A", "Rv3915", "-", 1056 ), } assert actual == expected
def test_nonDefaultDelim_loadsOk(self): stream = StringIO( "lineage1|615938|1104|G/A|368|GAG/GAA|E/E|Rv0524|hemL\n" "lineage1.1|4404247|1056|G/A|352|CTG/CTA|L/L|Rv3915|-" ) delim = "|" actual = load_panel(stream, delim=delim) expected = { 615938: PanelVariant( Lineage("1"), 615938, "G", "A", "Rv0524", "hemL", 1104 ), 4404247: PanelVariant( Lineage("1", "1"), 4404247, "G", "A", "Rv3915", "-", 1056 ), } assert actual == expected