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