(self)
| 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 |
nothing calls this directly
no test coverage detected