# test_string_recursion.py # Walker M. White (wmw2), Lillian Lee (LJL2) # Feb 26, 2013 """Unit test for recursive string functions.""" import cunittest2 from string_recursion import * def test_num_e(): cunittest2.assert_equals(0, num_e('')) cunittest2.assert_equals(1, num_e('e')) cunittest2.assert_equals(0, num_e('c')) cunittest2.assert_equals(2, num_e('ceceddd')) cunittest2.assert_equals(0, num_e('asdfasdfadsf')) def test_deblank(): cunittest2.assert_equals('', deblank('')); cunittest2.assert_equals('', deblank(' ')); cunittest2.assert_equals('B', deblank('B')); cunittest2.assert_equals('BG', deblank('B G')); cunittest2.assert_equals('', deblank(' ')); def test_depunct(): cunittest2.assert_equals('', depunct('(@$*&@')); cunittest2.assert_equals('foo', depunct(' f,o**o!!!')); cunittest2.assert_equals('foo', depunct('f (!*@&,.<>:\' oo')); def test_ispalindrome(): cunittest2.assert_equals(True, ispalindrome('')); cunittest2.assert_equals(True, ispalindrome('B')); cunittest2.assert_equals(True, ispalindrome('BB')); cunittest2.assert_equals(False, ispalindrome('BA')); cunittest2.assert_equals(True, ispalindrome('BOB')); cunittest2.assert_equals(False, ispalindrome('BOA')); cunittest2.assert_equals(True, ispalindrome('ablewasiereisawelba')); cunittest2.assert_equals(True, ispalindrome('amanaplanacanalpanama')); cunittest2.assert_equals(True, ispalindrome('Amanaplanacanalpanama')); cunittest2.assert_equals(False, ispalindrome('amanaplana canalpanama')); cunittest2.assert_equals(True, ispalindrome2('')); cunittest2.assert_equals(True, ispalindrome2('B')); cunittest2.assert_equals(True, ispalindrome2('BB')); cunittest2.assert_equals(False, ispalindrome2('BA')); cunittest2.assert_equals(True, ispalindrome2('BOB')); cunittest2.assert_equals(False, ispalindrome2('BOA')); cunittest2.assert_equals(True, ispalindrome2('ablewasiereisawelba')); cunittest2.assert_equals(True, ispalindrome2('amanaplanacanalpanama')); cunittest2.assert_equals(True, ispalindrome2('Amanaplanacanalpanama')); cunittest2.assert_equals(False, ispalindrome2('amanaplana canalpanama')); cunittest2.assert_equals(True, ispalindrome_loosely('A man, a plan, a canal --Panama!')); cunittest2.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 passes all test cases'