MCPcopy Index your code
hub / github.com/python/cpython / test_complexes

Method test_complexes

Lib/test/test_descr.py:270–301  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

268 self.number_operators(100.0, 3.0)
269
270 def test_complexes(self):
271 # Testing complex operations...
272 self.number_operators(100.0j, 3.0j, skip=['lt', 'le', 'gt', 'ge',
273 'int', 'float',
274 'floordiv', 'divmod', 'mod'])
275
276 class Number(complex):
277 __slots__ = ['prec']
278 def __new__(cls, *args, **kwds):
279 result = complex.__new__(cls, *args)
280 result.prec = kwds.get('prec', 12)
281 return result
282 def __repr__(self):
283 prec = self.prec
284 if self.imag == 0.0:
285 return "%.*g" % (prec, self.real)
286 if self.real == 0.0:
287 return "%.*gj" % (prec, self.imag)
288 return "(%.*g+%.*gj)" % (prec, self.real, prec, self.imag)
289 __str__ = __repr__
290
291 a = Number(3.14, prec=6)
292 self.assertEqual(repr(a), "3.14")
293 self.assertEqual(a.prec, 6)
294
295 a = Number(a, prec=2)
296 self.assertEqual(repr(a), "3.1")
297 self.assertEqual(a.prec, 2)
298
299 a = Number(234.5)
300 self.assertEqual(repr(a), "234.5")
301 self.assertEqual(a.prec, 12)
302
303 def test_explicit_reverse_methods(self):
304 # see issue 9930

Callers

nothing calls this directly

Calls 3

number_operatorsMethod · 0.95
NumberClass · 0.70
assertEqualMethod · 0.45

Tested by

no test coverage detected