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