def test_complement(self): """Alphabet complement should correctly complement sequence""" self.assertEqual(RnaAlphabet.complement('UauCG-NR'), 'AuaGC-NY') self.assertEqual(DnaAlphabet.complement('TatCG-NR'), 'AtaGC-NY') self.assertEqual(RnaAlphabet.complement(''), '') self.assertRaises(TypeError, ProteinAlphabet.complement, 'ACD') #if it wasn't a string, result should be a list self.assertEqual(RnaAlphabet.complement(list('UauCG-NR')), list('AuaGC-NY')) self.assertEqual(RnaAlphabet.complement(('a','c')), ('u','g')) #constructor should fail for a dict self.assertRaises(ValueError, RnaAlphabet.complement, {'a':'c'})
def test_rc(self): """Alphabet rc should correctly reverse-complement sequence""" self.assertEqual(RnaAlphabet.rc('UauCG-NR'), 'YN-CGauA') self.assertEqual(DnaAlphabet.rc('TatCG-NR'), 'YN-CGatA') self.assertEqual(RnaAlphabet.rc(''), '') self.assertEqual(RnaAlphabet.rc('A'), 'U') self.assertRaises(TypeError, ProteinAlphabet.rc, 'ACD') #if it wasn't a string, result should be a list self.assertEqual(RnaAlphabet.rc(list('UauCG-NR')), list('YN-CGauA')) self.assertEqual(RnaAlphabet.rc(('a','c')), ('g','u')) #constructor should fail for a dict self.assertRaises(ValueError, RnaAlphabet.rc, {'a':'c'})