diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/analysis/type.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/analysis/type.py b/tests/analysis/type.py index b690a55..405659e 100644 --- a/tests/analysis/type.py +++ b/tests/analysis/type.py @@ -107,3 +107,18 @@ class TestDataType(ChrysalideTestCase): tp = MyUserType('random') self.assertEqual(tp.hash, hash('random') & ((1 << 32) - 1)) + + class MyOutOfRangeUserType(DataType): + + hard_coded_hash = -8752470794866657507 + + def __init__(self, name): + super(MyOutOfRangeUserType, self).__init__() + self._name = name + + def _hash(self): + return self.hard_coded_hash + + tp = MyOutOfRangeUserType('out-of-range') + + self.assertEqual(tp.hash, MyOutOfRangeUserType.hard_coded_hash & ((1 << 32) - 1)) |