#NEWLINE# def testSomeFeatureIsWellFormed( self ) : #NEWLINE# #INDENT# featId = self . gff3Data . byFeatureName . keys ( ) [ 0 ] #NEWLINE# feat = self . gff3Data . byFeatureName [ featId ] [ 0 ] #NEWLINE# self . assertEqual ( featId , feat . featureName , 'featureName mismatch' ) #NEWLINE# self . assertIsNotNone ( feat . seqname , 'sequence name is not populated' ) #NEWLINE# self . assertGreaterEqual ( feat . end , feat . start , 'end less than start' ) #NEWLINE# self . assertIn ( feat . strand , '+-' , 'strand is neither + nor -' ) #NEWLINE# self . assertIsNotNone ( feat . source , 'source is unspecified' ) #NEWLINE# self . assertIsNotNone ( feat . type , 'feature type is unspecified' ) #NEWLINE# self . assertIsInstance ( feat . parents , set , 'parents not a set' ) #NEWLINE# self . assertIsInstance ( feat . children , set , 'children not a set' )