def test_exclude_if_more(self): """exclude_if_more should be True if #items in s <= x""" self.assertRaises(ValueError, exclude_if_more,'lksfj','ksfd') #not int self.assertRaises(IndexError,exclude_if_more,'ACGU',-3) #negative f = exclude_if_more('a',0) #zero self.assertEqual(f(''),1) self.assertEqual(f('a'),0) self.assertEqual(f('b'),1) # works on strings f = exclude_if_more('ACGU',5) #positive self.assertEqual(f(''),1) self.assertEqual(f('ACGUAGCUioooNNNNNA'),0) self.assertEqual(f('NNNNNNN'),1) # works on words f = exclude_if_more(['foo'],1) self.assertEqual(f(''),1) self.assertEqual(f(['foo', 'bar','foo']),0) self.assertEqual(f(['joe']),1) # works on numbers f = exclude_if_more([0,1],3) self.assertEqual(f(''),1) self.assertEqual(f([0,1,2,3,4,5]),1) self.assertEqual(f([0,1,0,1]),0)
def setUp(self): """Define some standard Organizers for testing""" self.Empty = Organizer([]) self.a = Filter('a',{None:[find_any('a')]}) self.b = Filter('b',{None:[find_any('b')]}) self.Ab_org = Organizer([self.a,self.b]) lsu = Filter('LSU',{None:[exclude_if_more('N',5)],\ 'Gene':[find_any(['LSU'])]}) ssu = Filter('SSU',{None:[exclude_if_more('N',5)],\ 'Gene':[find_any(['SSU'])]}) self.Gene_org = Organizer([lsu,ssu]) self.Ab_seq = ['aa','bb','abab','cc',''] self.seq1 = Sequence('ACGU',{'Gene':'LSU'}) self.seq2 = Sequence('ACGUACGU',{'Gene':'SSU'}) self.seq3 = Sequence('ACGUNNNNNN',{'Gene':'LSU'}) self.seq4 = Sequence('ACGUNNNNNN',{'Gene':'SSU'}) self.seq5 = Sequence('ACGU',{}) self.seq6 = Sequence('',{}) self.seq7 = Sequence('ACGU',{'Gene':'unit'}) self.Gene_seq = [self.seq1,self.seq2,self.seq3,self.seq4,\ self.seq5,self.seq6,self.seq7] f = Filter('valid',{None:[find_all('AGCU'),find_no('N')],\ 'Gene':[find_any(['LSU'])]}) self.Mult_func_org = Organizer([f])