2
# -*- coding: UTF-8 -*-
6
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
8
from testbase import PyLPBugsTestSuite, PyLPBugsTestCase, ConfigTest, TestCaseIgnored
10
from datetime import datetime
11
from launchpadbugs.lptime import LPTime
16
def _gen_test_valid_time(time_str, result):
18
self.failIfRaises(ValueError, LPTime, time_str)
20
self.assert_(str(x) == result, "returns '%s' but '%s' is expected" %(x, result))
21
self.assert_(isinstance(x, datetime), "unable to parse '%s'" %time_str)
24
def _gen_test_invalid_time(time_str):
26
self.assertRaises(ValueError, LPTime, time_str)
29
class TimeTestCase(PyLPBugsTestCase):
31
('Tue, 27 Nov 2007 11:15:12 -0000', "2007-11-27 11:15:12 UTC"),
32
('2007-11-27 11:15:12 UTC', "2007-11-27 11:15:12 UTC"),
33
('28 Nov 07 20:10', "2007-11-28 20:10:00 UTC"),
34
('2007-04-24 10:58:24 CEST', "2007-04-24 10:58:24 UTC"),
35
('2008-06-06 20:20:20 EST', "2008-06-06 20:20:20 UTC"),
38
'Tue, 27 Nofghdfv 2007 11:15:12 -0000',
39
'2007-11-27 55:15:12 UTC',
43
for i, (input, result) in enumerate(TimeTestCase.valid_time):
44
_testcase = _gen_test_valid_time(input, result)
45
_testcase.__doc__ = "parse time '%s'" %input
46
setattr(TimeTestCase, "test_%.3d_valid_time" %i, _testcase)
48
for j, input in enumerate(TimeTestCase.invalid_time):
49
_testcase = _gen_test_invalid_time(input)
50
_testcase.__doc__ = "parse invalid time '%s'" %input
51
setattr(TimeTestCase, "test_%.3d_invalid_time" %(i+j+1), _testcase)
54
if __name__ == '__main__':
57
TimeTestSuite = unittest.TestLoader().loadTestsFromTestCase(TimeTestCase)
59
alltests = PyLPBugsTestSuite((TimeTestSuite,))
60
unittest.TextTestRunner(verbosity=2).run(alltests)