Ejemplo n.º 1
0
    def test_keep_if_more_other(self):
        """keep_if_more_other should be True if #other items > x"""

        self.assertRaises(ValueError, keep_if_more_other,'lksfj','ks') #not int
        self.assertRaises(IndexError,keep_if_more_other,'ACGU',-3) #negative
        
        f = keep_if_more_other('a',0) #zero
        self.assertEqual(f(''),0)
        self.assertEqual(f('a'),0)
        self.assertEqual(f('b'),1)
        
        # works on strings
        f = keep_if_more_other('ACGU',5) #positive
        self.assertEqual(f(''),0)
        self.assertEqual(f('ACGUNNNNN'),0)
        self.assertEqual(f('ACGUAGCUioooNNNNNA'),1)
        self.assertEqual(f('NNNNNNN'),1)

        # works on words
        f = keep_if_more_other(['foo'],1)
        self.assertEqual(f(''),0)
        self.assertEqual(f(['foo', 'bar','foo']),0)
        self.assertEqual(f(['joe','oef']),1)

        # works on numbers
        f = keep_if_more_other([0,1],3)
        self.assertEqual(f(''),0)
        self.assertEqual(f([0,1,2,3,4,5]),1)
        self.assertEqual(f([0,1,0,1]),0)
Ejemplo n.º 2
0
    def test_init(self):
        """Filter should init as expected"""
        empty_filter = Filter('',{})
        named_empty_filter = Filter('Archaea',{})

        self.assertEqual(empty_filter,{})
        self.assertEqual(empty_filter.Name,'')
        self.assertEqual(named_empty_filter,{})
        self.assertEqual(named_empty_filter.Name,'Archaea')
        
        f = find_all('abcd')
        g = keep_if_more_other('ab',7)
        fil = Filter('Archaea',{'Arch':[f,g]})
        assert fil['Arch'][0] is f
        assert fil['Arch'][1] is g