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

Method test_c_signal_dict

Lib/test/test_decimal.py:5453–5584  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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])

Callers

nothing calls this directly

Calls 15

clear_trapsMethod · 0.95
clear_flagsMethod · 0.95
listClass · 0.85
assertTrueMethod · 0.80
assertFalseMethod · 0.80
randrangeMethod · 0.80
ContextClass · 0.70
copyMethod · 0.45
keysMethod · 0.45
valuesMethod · 0.45
itemsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected