(self)
| 5451 | |
| 5452 | @requires_extra_functionality |
| 5453 | def test_c_signal_dict(self): |
| 5454 | |
| 5455 | # SignalDict coverage |
| 5456 | Context = C.Context |
| 5457 | DefaultContext = C.DefaultContext |
| 5458 | |
| 5459 | InvalidOperation = C.InvalidOperation |
| 5460 | FloatOperation = C.FloatOperation |
| 5461 | DivisionByZero = C.DivisionByZero |
| 5462 | Overflow = C.Overflow |
| 5463 | Subnormal = C.Subnormal |
| 5464 | Underflow = C.Underflow |
| 5465 | Rounded = C.Rounded |
| 5466 | Inexact = C.Inexact |
| 5467 | Clamped = C.Clamped |
| 5468 | |
| 5469 | DecClamped = C.DecClamped |
| 5470 | DecInvalidOperation = C.DecInvalidOperation |
| 5471 | DecIEEEInvalidOperation = C.DecIEEEInvalidOperation |
| 5472 | |
| 5473 | def assertIsExclusivelySet(signal, signal_dict): |
| 5474 | for sig in signal_dict: |
| 5475 | if sig == signal: |
| 5476 | self.assertTrue(signal_dict[sig]) |
| 5477 | else: |
| 5478 | self.assertFalse(signal_dict[sig]) |
| 5479 | |
| 5480 | c = DefaultContext.copy() |
| 5481 | |
| 5482 | # Signal dict methods |
| 5483 | self.assertTrue(Overflow in c.traps) |
| 5484 | c.clear_traps() |
| 5485 | for k in c.traps.keys(): |
| 5486 | c.traps[k] = True |
| 5487 | for v in c.traps.values(): |
| 5488 | self.assertTrue(v) |
| 5489 | c.clear_traps() |
| 5490 | for k, v in c.traps.items(): |
| 5491 | self.assertFalse(v) |
| 5492 | |
| 5493 | self.assertFalse(c.flags.get(Overflow)) |
| 5494 | self.assertIs(c.flags.get("x"), None) |
| 5495 | self.assertEqual(c.flags.get("x", "y"), "y") |
| 5496 | self.assertRaises(TypeError, c.flags.get, "x", "y", "z") |
| 5497 | |
| 5498 | self.assertEqual(len(c.flags), len(c.traps)) |
| 5499 | s = sys.getsizeof(c.flags) |
| 5500 | s = sys.getsizeof(c.traps) |
| 5501 | s = c.flags.__repr__() |
| 5502 | |
| 5503 | # Set flags/traps. |
| 5504 | c.clear_flags() |
| 5505 | c._flags = DecClamped |
| 5506 | self.assertTrue(c.flags[Clamped]) |
| 5507 | |
| 5508 | c.clear_traps() |
| 5509 | c._traps = DecInvalidOperation |
| 5510 | self.assertTrue(c.traps[InvalidOperation]) |
nothing calls this directly
no test coverage detected