Package parsedatetime :: Package tests :: Module TestAlternativeAbbreviations
[hide private]
[frames] | no frames]

Source Code for Module parsedatetime.tests.TestAlternativeAbbreviations

 1  import unittest, time, datetime 
 2  import parsedatetime as pdt 
3 4 -class pdtLocale_en(pdt.pdt_locales.pdtLocale_icu):
5 """Update en locale to include a bunch of different abbreviations"""
6 - def __init__(self):
7 super(pdtLocale_en, self).__init__(localeID='en_us') 8 self.Weekdays = [ 'monday', 'tuesday', 'wednesday', 9 'thursday', 'friday', 'saturday', 'sunday', 10 ] 11 self.shortWeekdays = [ 'mon|mond', 'tue|tues', 'wed|wedn', 12 'thu|thur|thurs', 'fri|frid', 'sat|sa', 'sun|su', 13 ] 14 self.Months = [ 'january', 'february', 'march', 15 'april', 'may', 'june', 16 'july', 'august', 'september', 17 'october', 'november', 'december', 18 ] 19 self.shortMonths = [ 'jan|janu', 'feb|febr', 'mar|marc', 20 'apr|apri', 'may', 'jun|june', 21 'jul', 'aug|augu', 'sep|sept', 22 'oct|octo', 'nov|novem', 'dec|decem', 23 ]
24
25 -class test(unittest.TestCase):
26 27 28 @pdt.tests.assertEqualWithComparator
29 - def assertExpectedResult(self, result, check, **kwargs):
30 return pdt.tests.compareResultByTimeTuplesAndFlags(result, check, **kwargs)
31
32 - def setUp(self):
33 pdt.pdtLocales['en_us'] = pdtLocale_en # override for the test 34 self.ptc = pdt.Constants('en_us', usePyICU=False) 35 self.cal = pdt.Calendar(self.ptc) 36 self.yr, self.mth, self.dy, self.hr, self.mn, self.sec, self.wd, self.yd, self.isdst = time.localtime()
37 38
39 - def testDaysOfWeek(self):
40 start = datetime.datetime(2014, 10, 25, self.hr, self.mn, self.sec).timetuple() 41 42 target = datetime.datetime(2014, 10, 26, self.hr, self.mn, self.sec).timetuple() 43 self.assertExpectedResult(self.cal.parse('sunday', start), (target, 1)) 44 self.assertExpectedResult(self.cal.parse('sun', start), (target, 1)) 45 self.assertExpectedResult(self.cal.parse('su', start), (target, 1)) 46 47 target = datetime.datetime(2014, 10, 27, self.hr, self.mn, self.sec).timetuple() 48 self.assertExpectedResult(self.cal.parse('Monday', start), (target, 1)) 49 self.assertExpectedResult(self.cal.parse('mon', start), (target, 1)) 50 self.assertExpectedResult(self.cal.parse('mond', start), (target, 1)) 51 52 target = datetime.datetime(2014, 10, 28, self.hr, self.mn, self.sec).timetuple() 53 self.assertExpectedResult(self.cal.parse('tuesday', start), (target, 1)) 54 self.assertExpectedResult(self.cal.parse('tues', start), (target, 1)) 55 self.assertExpectedResult(self.cal.parse('tue', start), (target, 1)) 56 57 target = datetime.datetime(2014, 10, 29, self.hr, self.mn, self.sec).timetuple() 58 self.assertExpectedResult(self.cal.parse('wednesday', start), (target, 1)) 59 self.assertExpectedResult(self.cal.parse('wedn', start), (target, 1)) 60 self.assertExpectedResult(self.cal.parse('wed', start), (target, 1)) 61 62 target = datetime.datetime(2014, 10, 30, self.hr, self.mn, self.sec).timetuple() 63 self.assertExpectedResult(self.cal.parse('thursday', start), (target, 1)) 64 self.assertExpectedResult(self.cal.parse('thu', start), (target, 1)) 65 self.assertExpectedResult(self.cal.parse('thur', start), (target, 1)) 66 self.assertExpectedResult(self.cal.parse('thurs', start), (target, 1)) 67 68 target = datetime.datetime(2014, 10, 31, self.hr, self.mn, self.sec).timetuple() 69 self.assertExpectedResult(self.cal.parse('friday', start), (target, 1)) 70 self.assertExpectedResult(self.cal.parse('fri', start), (target, 1)) 71 self.assertExpectedResult(self.cal.parse('frid', start), (target, 1)) 72 73 target = datetime.datetime(2014, 11, 1, self.hr, self.mn, self.sec).timetuple() 74 self.assertExpectedResult(self.cal.parse('saturday', start), (target, 1)) 75 self.assertExpectedResult(self.cal.parse('sat', start), (target, 1)) 76 self.assertExpectedResult(self.cal.parse('sa', start), (target, 1))
77
78 - def testMonths(self):
79 start = datetime.datetime(2014,1, 1, self.hr, self.mn, self.sec).timetuple() 80 for dates, expected_date in [ 81 ('jan|janu|january', datetime.datetime(2014, 1, 1, self.hr, self.mn, self.sec).timetuple() ), 82 ('feb|febr|february', datetime.datetime(2014, 2, 1, self.hr, self.mn, self.sec).timetuple() ), 83 ('mar|marc|march', datetime.datetime(2014, 3, 1, self.hr, self.mn, self.sec).timetuple() ), 84 ('apr|apri|april', datetime.datetime(2014, 4, 1, self.hr, self.mn, self.sec).timetuple() ), 85 ('may|may', datetime.datetime(2014, 5, 1, self.hr, self.mn, self.sec).timetuple() ), 86 ('jun|june', datetime.datetime(2014, 6, 1, self.hr, self.mn, self.sec).timetuple() ), 87 ('jul|july', datetime.datetime(2014, 7, 1, self.hr, self.mn, self.sec).timetuple() ), 88 ('aug|augu|august', datetime.datetime(2014, 8, 1, self.hr, self.mn, self.sec).timetuple() ), 89 ('sep|sept|september', datetime.datetime(2014, 9, 1, self.hr, self.mn, self.sec).timetuple() ), 90 ('oct|octo|october', datetime.datetime(2014, 10, 1, self.hr, self.mn, self.sec).timetuple() ), 91 ('nov|novem|november', datetime.datetime(2014, 11, 1, self.hr, self.mn, self.sec).timetuple() ), 92 ('dec|decem|december', datetime.datetime(2014, 12, 1, self.hr, self.mn, self.sec).timetuple() ) 93 ]: 94 for dateText in dates.split("|"): 95 # print dateText 96 self.assertExpectedResult(self.cal.parse(dateText, start), (expected_date, 1))
97