summaryrefslogtreecommitdiff
path: root/src/isodate/tests/test_duration.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/isodate/tests/test_duration.py')
-rw-r--r--src/isodate/tests/test_duration.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/isodate/tests/test_duration.py b/src/isodate/tests/test_duration.py
index 6cf6b65..910001e 100644
--- a/src/isodate/tests/test_duration.py
+++ b/src/isodate/tests/test_duration.py
@@ -272,13 +272,30 @@ class DurationTest(unittest.TestCase):
def test_repr(self):
'''
- Test __repr__ and __str__ for Duration obqects.
+ Test __repr__ and __str__ for Duration objects.
'''
dur = Duration(10, 10, years=10, months=10)
self.assertEqual('10 years, 10 months, 10 days, 0:00:10', str(dur))
self.assertEqual('isodate.duration.Duration(10, 10, 0,'
' years=10, months=10)', repr(dur))
+ def test_hash(self):
+ '''
+ Test __hash__ for Duration objects.
+ '''
+ dur1 = Duration(10, 10, years=10, months=10)
+ dur2 = Duration(9, 9, years=9, months=9)
+ dur3 = Duration(10, 10, years=10, months=10)
+ self.assertNotEqual(hash(dur1), hash(dur2))
+ self.assertNotEqual(id(dur1), id(dur2))
+ self.assertEqual(hash(dur1), hash(dur3))
+ self.assertNotEqual(id(dur1), id(dur3))
+ durSet = set()
+ durSet.add(dur1)
+ durSet.add(dur2)
+ durSet.add(dur3)
+ self.assertEqual(len(durSet), 2)
+
def test_neg(self):
'''
Test __neg__ for Duration objects.