# test_string_recursion.py # Walker M. White (wmw2) # September 9, 2012 """Unit test for recursive string functions.""" import cunittest from string_recursion import * def test_num_e(): cunittest.assert_equals(0, num_e('')) cunittest.assert_equals(1, num_e('e')) cunittest.assert_equals(0, num_e('c')) cunittest.assert_equals(2, num_e('ceceddd')) cunittest.assert_equals(0, num_e('asdfasdfadsf')) def test_deblank(): cunittest.assert_equals('', deblank('')); cunittest.assert_equals('', deblank(' ')); cunittest.assert_equals('B', deblank('B')); cunittest.assert_equals('BG', deblank('B G')); cunittest.assert_equals('', deblank(' ')); def test_depunct(): cunittest.assert_equals('', depunct('(@$*&@')); cunittest.assert_equals('foo', depunct(' f,o**o!!!')); cunittest.assert_equals('foo', depunct('f (!*@&,.<>:\' oo')); def test_ispalindrome(): cunittest.assert_equals(True, ispalindrome('')); cunittest.assert_equals(True, ispalindrome('B')); cunittest.assert_equals(True, ispalindrome('BB')); cunittest.assert_equals(False, ispalindrome('BA')); cunittest.assert_equals(True, ispalindrome('BOB')); cunittest.assert_equals(False, ispalindrome('BOA')); cunittest.assert_equals(True, ispalindrome('ablewasiereisawelba')); cunittest.assert_equals(True, ispalindrome('amanaplanacanalpanama')); cunittest.assert_equals(True, ispalindrome('Amanaplanacanalpanama')); cunittest.assert_equals(False, ispalindrome('amanaplana canalpanama')); cunittest.assert_equals(True, ispalindrome2('')); cunittest.assert_equals(True, ispalindrome2('B')); cunittest.assert_equals(True, ispalindrome2('BB')); cunittest.assert_equals(False, ispalindrome2('BA')); cunittest.assert_equals(True, ispalindrome2('BOB')); cunittest.assert_equals(False, ispalindrome2('BOA')); cunittest.assert_equals(True, ispalindrome2('ablewasiereisawelba')); cunittest.assert_equals(True, ispalindrome2('amanaplanacanalpanama')); cunittest.assert_equals(True, ispalindrome2('Amanaplanacanalpanama')); cunittest.assert_equals(False, ispalindrome2('amanaplana canalpanama')); cunittest.assert_equals(True, ispalindrome_loosely('A man, a plan, a canal --Panama!')); cunittest.assert_equals(False, ispalindrome_loosely('A man, a plan, a cabal --Panama!')); # Application Code if __name__ == '__main__': test_num_e() test_deblank() test_depunct() test_ispalindrome() print 'Module string_recursion is working properly'