def test_010_valid_case(self): ident = 'ref_prob' descr = 'Allele probability' for group in ('INFO', 'FILTER', 'FORMAT'): for number in ('A', 'R', 'G', '.', 1): for typ in ('Integer', 'Float', 'Flag', 'Character', 'String'): try: meta_info = MetaInfo(group, ident, number, typ, descr) except Exception: self.fail('Correct input is raising Exception.') # Check repr() is correctly expected = '{}=<ID={},Number={},Type={},'\ 'Description="{}">'.format( group, ident, number, typ, descr) got = repr(meta_info) self.assertEqual(expected, got)
def test_040_invalid_type(self): """When an invalid data type is entered, ValueError is raised.""" with self.assertRaises(ValueError): meta_info = MetaInfo('INFO', 'ref_prob', 1, 'Double', 'Allele probability')
def test_030_invalid_number(self): """Int needs to be an integer or 'A', 'R', 'G' or '.'.""" with self.assertRaises(ValueError): meta_info = MetaInfo('INFO', 'ref_prob', 'T', 'Float', 'Allele probability')
def test_020_invalid_group(self): """Any group not in MetaInfo.__valid_groups__ raises ValueError.""" with self.assertRaises(ValueError): meta_info = MetaInfo('nonsense', 'ref_prob', 1, 'Float', 'Allele probability')