def test_silva_taxonomy_format_validate_negative_nonnumeric_values(self): filepath = self.get_data_path('silva_taxa.tsv') badtax = pd.read_csv(filepath, sep='\t', index_col=0, header=None) # turn the taxids to a non-numeric column badtax[1] = 'blarg' junkpath = os.path.join(self.temp_dir.name, 'junk.tsv') badtax.to_csv(junkpath, sep='\t', header=False) format = SILVATaxonomyFormat(junkpath, mode='r') with self.assertRaisesRegex(ValidationError, 'non-numeric value'): format.validate()
def test_silva_taxonomy_format_validate_negative_invalid_taxonomy(self): filepath = self.get_data_path('silva_taxa.tsv') # index_col=1 sets the wrong index, creating an invalid taxonomy badtax = pd.read_csv(filepath, sep='\t', index_col=1, header=None) junkpath = os.path.join(self.temp_dir.name, 'junk.tsv') badtax.to_csv(junkpath, sep='\t', header=False) format = SILVATaxonomyFormat(junkpath, mode='r') with self.assertRaisesRegex(ValidationError, 'not in SILVA taxonomy format'): format.validate()
def test_silva_taxonomy_format_validate_negative_empty_file(self): filepath = self.get_data_path('empty.tsv') format = SILVATaxonomyFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'must be at least one.*record'): format.validate()
def test_silva_taxonomy_format_validate_negative_incorrect_row_count(self): filepath = self.get_data_path('silva_taxamap.tsv') format = SILVATaxonomyFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'Expected.*5 fields'): format.validate()
def test_silva_taxonomy_format_validate_positive(self): filepath = self.get_data_path('silva_taxa.tsv') format = SILVATaxonomyFormat(filepath, mode='r') # These should both just succeed format.validate('min') format.validate('max')