def METHOD_NAME(self):
    # these are dependant on sys.hash_info.modulo = 2147483647
    self.assertEqual(hash(2147483647), 0) # int.MaxValue
    self.assertEqual(hash(-2147483648), -2) # int.MinValue
    self.assertEqual(hash(-2147483647), 0) # int.MinValue+1
    self.assertEqual(hash(big(2147483647)), 0) # int.MaxValue
    self.assertEqual(hash(big(-2147483648)), -2) # int.MinValue
    self.assertEqual(hash(big(-2147483647)), 0) # int.MinValue+1
    self.assertEqual(hash(9223372036854775807), 1) # long.MaxValue
    self.assertEqual(hash(-9223372036854775808), -2) # long.MinValue
    self.assertEqual(hash(-9223372036854775807), -2) # long.MinValue+1
    # this checks that we handle the case where the hash results in -1
    self.assertEqual(hash(complex(-1000004, 1)), -2) # sys.hash_info.imag-1 + 1j