[Checkins] SVN: DateTime/trunk/ Allow comparison of DateTime objects against None.
Hanno Schlichting
hannosch at hannosch.eu
Wed Oct 19 08:20:39 EST 2011
Log message for revision 123108:
Allow comparison of DateTime objects against None.
Changed:
U DateTime/trunk/CHANGES.txt
U DateTime/trunk/src/DateTime/DateTime.py
U DateTime/trunk/src/DateTime/tests/testDateTime.py
-=-
Modified: DateTime/trunk/CHANGES.txt
===================================================================
--- DateTime/trunk/CHANGES.txt 2011-10-19 09:43:06 UTC (rev 123107)
+++ DateTime/trunk/CHANGES.txt 2011-10-19 13:20:38 UTC (rev 123108)
@@ -24,6 +24,7 @@
3.0 (unreleased)
----------------
+- Allow comparison of DateTime objects against None.
3.0b2 (2011-10-19)
------------------
Modified: DateTime/trunk/src/DateTime/DateTime.py
===================================================================
--- DateTime/trunk/src/DateTime/DateTime.py 2011-10-19 09:43:06 UTC (rev 123107)
+++ DateTime/trunk/src/DateTime/DateTime.py 2011-10-19 13:20:38 UTC (rev 123108)
@@ -1238,7 +1238,10 @@
"""
if isinstance(t, float):
return self._micros > long(t * 1000000)
- return self._micros > t._micros
+ try:
+ return self._micros > t._micros
+ except AttributeError:
+ return self._micros > t
__gt__ = greaterThan
@@ -1256,7 +1259,10 @@
"""
if isinstance(t, float):
return self._micros >= long(t * 1000000)
- return self._micros >= t._micros
+ try:
+ return self._micros >= t._micros
+ except AttributeError:
+ return self._micros >= t
__ge__ = greaterThanEqualTo
@@ -1273,7 +1279,10 @@
"""
if isinstance(t, float):
return self._micros == long(t * 1000000)
- return self._micros == t._micros
+ try:
+ return self._micros == t._micros
+ except AttributeError:
+ return self._micros == t
def notEqualTo(self, t):
"""Compare this DateTime object to another DateTime object
@@ -1315,7 +1324,10 @@
"""
if isinstance(t, float):
return self._micros < long(t * 1000000)
- return self._micros < t._micros
+ try:
+ return self._micros < t._micros
+ except AttributeError:
+ return self._micros < t
__lt__ = lessThan
@@ -1332,7 +1344,10 @@
"""
if isinstance(t, float):
return self._micros <= long(t * 1000000)
- return self._micros <= t._micros
+ try:
+ return self._micros <= t._micros
+ except AttributeError:
+ return self._micros <= t
__le__ = lessThanEqualTo
Modified: DateTime/trunk/src/DateTime/tests/testDateTime.py
===================================================================
--- DateTime/trunk/src/DateTime/tests/testDateTime.py 2011-10-19 09:43:06 UTC (rev 123107)
+++ DateTime/trunk/src/DateTime/tests/testDateTime.py 2011-10-19 13:20:38 UTC (rev 123108)
@@ -187,17 +187,27 @@
dt1 = DateTime('1997/3/9 1:45pm GMT+8')
self.assertEqual(dt1 - dt, 1.0, (dt, dt1))
- def testCompareMethods(self):
+ def test_compare_methods(self):
# Compare two dates using several methods
dt = DateTime('1997/1/1')
dt1 = DateTime('1997/2/2')
- self.failUnless(dt1.greaterThan(dt))
- self.failUnless(dt1.greaterThanEqualTo(dt))
- self.failUnless(dt.lessThan(dt1))
- self.failUnless(dt.lessThanEqualTo(dt1))
- self.failUnless(dt.notEqualTo(dt1))
- self.failUnless(not dt.equalTo(dt1))
+ self.assertTrue(dt1.greaterThan(dt))
+ self.assertTrue(dt1.greaterThanEqualTo(dt))
+ self.assertTrue(dt.lessThan(dt1))
+ self.assertTrue(dt.lessThanEqualTo(dt1))
+ self.assertTrue(dt.notEqualTo(dt1))
+ self.assertFalse(dt.equalTo(dt1))
+ def test_compare_methods_none(self):
+ # Compare a date to None
+ dt = DateTime('1997/1/1')
+ self.assertTrue(dt.greaterThan(None))
+ self.assertTrue(dt.greaterThanEqualTo(None))
+ self.assertFalse(dt.lessThan(None))
+ self.assertFalse(dt.lessThanEqualTo(None))
+ self.assertTrue(dt.notEqualTo(None))
+ self.assertFalse(dt.equalTo(None))
+
def test_pickle(self):
dt = DateTime()
data = cPickle.dumps(dt, 1)
More information about the checkins
mailing list