# test_stringfun.py # Walker M. White (wmw2) # October 15, 2015 """Unit test for recursive string functions.""" import cornelltest import stringfun def test_length(): """Test the function length""" cornelltest.assert_equals(0, stringfun.length('')) cornelltest.assert_equals(1, stringfun.length('e')) cornelltest.assert_equals(7, stringfun.length('ceceddd')) cornelltest.assert_equals(15, stringfun.length('*0;jh=52y;jh=`5')) def test_num_e(): """Test the function num_e""" cornelltest.assert_equals(0, stringfun.num_e('')) cornelltest.assert_equals(1, stringfun.num_e('e')) cornelltest.assert_equals(0, stringfun.num_e('c')) cornelltest.assert_equals(2, stringfun.num_e('ceceddd')) cornelltest.assert_equals(0, stringfun.num_e('asdfasdfadsf')) def test_deblank(): """Test the function deblank""" cornelltest.assert_equals('', stringfun.deblank('')); cornelltest.assert_equals('', stringfun.deblank(' ')); cornelltest.assert_equals('B', stringfun.deblank('B')); cornelltest.assert_equals('BG', stringfun.deblank('B G')); cornelltest.assert_equals('', stringfun.deblank(' ')); def test_depunct(): """Test the function depunct""" cornelltest.assert_equals('', stringfun.depunct('(@$*&@')); cornelltest.assert_equals('foo', stringfun.depunct(' f,o**o!!!')); cornelltest.assert_equals('foo', stringfun.depunct('f (!*@&,.<>:\' oo')); def test_reverse(): """Test the function reverse""" cornelltest.assert_equals('', stringfun.reverse('')); cornelltest.assert_equals('esrever', stringfun.reverse('reverse')); cornelltest.assert_equals('amanaplanacanalpanama', stringfun.reverse('amanaplanacanalpanama')); cornelltest.assert_equals('a man a plan a canal panama', stringfun.reverse('amanap lanac a nalp a nam a')); # Application Code if __name__ == '__main__': test_length() test_num_e() test_deblank() test_depunct() test_reverse() print 'Module stringfun is working properly'