1 #!/usr/bin/env python 2 3 from DateSupport import * 4 5 d1 = DateTime((2012, 3, 25, 20, 45, 30, "Europe/Oslo")) 6 d2 = DateTime((2012, 3, 25, 21, 05, 25, "Europe/Oslo")) 7 ts1 = Timespan(d1, d1) 8 ts2 = Timespan(d1, d2) 9 10 print "d1:", d1, d1.as_ISO8601_datetime_string() 11 print "d2:", d2, d2.as_ISO8601_datetime_string() 12 13 # expected result operands 14 print "%r : %r <- %r < %r" % (d1 < d2, d1 < d2, d1, d2) 15 print "%r : %r <- %r == %r" % (not d1 == d2, d1 == d2, d1, d2) 16 print "%r : %r <- %r < %r" % (ts1 < ts2, ts1 < ts2, ts1, ts2) 17 print "%r : %r <- %r == %r" % (not ts1 == ts2, ts1 == ts2, ts1, ts2) 18 19 d2_offset = d2.utc_offset() 20 21 # expected result operands 22 print "%r : %r <- %r.utc_offset()" % (d2_offset == (2, 0), d2_offset, d2) 23 24 d3 = DateTime((2012, 3, 25, 21, 05, 25, "America/Montreal")) 25 d4 = DateTime((2012, 3, 25, 21, 05, 25, "America/Anchorage")) 26 d5 = DateTime((2012, 3, 25, 21, 05, 25, "America/St_Johns")) 27 d6 = DateTime((2012, 3, 25, 21, 05, 25, "America/Vancouver")) 28 d7 = DateTime((2012, 3, 25, 21, 05, 25, "-05:45")) 29 d8 = DateTime((2012, 3, 25, 21, 05, 25, "05:45")) 30 31 # expected result operands 32 print "%r : %r <- %r < %r" % (d2 < d3, d2 < d3, d2, d3) 33 print "%r : %r <- %r < %r" % (d3 < d4, d3 < d4, d3, d4) 34 print "%r : %r <- %r > %r" % (d4 > d5, d4 > d5, d4, d5) 35 print "%r : %r <- %r > %r" % (not d5 > d6, d5 > d6, d5, d6) 36 print "%r : %r <- %r > %r" % (d6 > d7, d6 > d7, d6, d7) 37 print "%r : %r <- %r > %r" % (d7 > d8, d7 > d8, d7, d8) 38 39 d3_offset = d3.utc_offset() 40 d4_offset = d4.utc_offset() 41 d5_offset = d5.utc_offset() 42 d6_offset = d6.utc_offset() 43 d7_offset = d7.utc_offset() 44 d8_offset = d8.utc_offset() 45 46 # expected result operands 47 print "%r : %r <- %r.utc_offset()" % (d3_offset == (-4, 0), d3_offset, d3) 48 print "%r : %r <- %r.utc_offset()" % (d4_offset == (-8, 0), d4_offset, d4) 49 print "%r : %r <- %r.utc_offset()" % (d5_offset == (-2, -30), d5_offset, d5) 50 print "%r : %r <- %r.utc_offset()" % (d6_offset == (-7, 0), d6_offset, d6) 51 print "%r : %r <- %r.utc_offset()" % (d7_offset == (-5, -45), d7_offset, d7) 52 print "%r : %r <- %r.utc_offset()" % (d8_offset == (5, 45), d8_offset, d8) 53 54 # expected result operands 55 print "%r : %r <- %r - %r" % (d2 - d2 == 0, d2 - d2, d2, d2) 56 print "%r : %r <- %r - %r" % (d3 - d2 == 6 * 3600, d3 - d2, d3, d2) 57 print "%r : %r <- %r - %r" % (d4 - d2 == 10 * 3600, d4 - d2, d4, d2) 58 print "%r : %r <- %r - %r" % (d5 - d2 == 4.5 * 3600, d5 - d2, d5, d2) 59 print "%r : %r <- %r - %r" % (d6 - d2 == 9 * 3600, d6 - d2, d6, d2) 60 print "%r : %r <- %r - %r" % (d7 - d2 == 7.75 * 3600, d7 - d2, d7, d2) 61 print "%r : %r <- %r - %r" % (d8 - d2 == -3.75 * 3600, d8 - d2, d8, d2) 62 63 # vim: tabstop=4 expandtab shiftwidth=4