#-------------------------------------------------------------------------------
# Name: module1
# Purpose:
#
# Author: penglaixy
#
# Created: 27/07/2013
# Copyright: (c) penglaixy 2013
# Licence: <your licence>
#-------------------------------------------------------------------------------
import sys
def test(did_pass):
'''
print the result of a test
'''
linenum = sys._getframe(1).f_lineno
if did_pass:
msg = 'Test at line {0} ok'.format(linenum)
else:
msg = 'Test at line {0} failed'.format(linenum)
print msg
def turn_clockwise(direction):
if 'N' == direction:
return 'E'
elif 'E' == direction:
return 'S'
elif 'S' == direction:
return 'W'
elif 'W' == direction:
return 'N'
def day_name(num_day):
'''get the dayname by inputvalue '''
name_dict = {0:'Sunday', 1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday'}
if name_dict.has_key(num_day):
return name_dict[num_day]
def day_num(name_day):
'''get the dayname by inputvalue '''
name_dict = {'Sunday':0, 'Monday':1, 'Tuesday':2, 'Wednesday':3, 'Thursday':4, 'Friday':5, 'Saturday':6}
if name_dict.has_key(name_day):
return name_dict[name_day]
def day_add(name, delta):
get_day_num = day_num(name)
if get_day_num != None:
return day_name((get_day_num + delta)%7)
def test_suite():
'''
Run the suite of tests for code in this module
'''
test(turn_clockwise('N') == 'E')
test(turn_clockwise('W') == 'N')
test(turn_clockwise(42) == None)
test(turn_clockwise('rubbish') == None)
test(day_name(3) == 'Wednesday')
test(day_name(6) == 'Saturday')
test(day_name(42) == None)
test(day_num('Friday') == 5)
test(day_num('Sunday') == 0)
test(day_num('hello') == None)
test(day_num(day_name(3)) == 3)
test(day_name(day_num('Thursday')) == 'Thursday')
test(day_add('Monday', 4) == 'Friday')
test(day_add('Tuesday', 0) == 'Tuesday')
test(day_add('Tuesday', 14) == 'Tuesday')
test(day_add('Sunday', 100) == 'Tuesday')
test(day_add('Sunday', -1) == 'Saturday')
test(day_add('Sunday', -7) == 'Sunday')
test(day_add('Tuesday', -100) == 'Sunday')
def main():
test_suite()
if __name__ == '__main__':
main()