MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_implicit_context

Method test_implicit_context

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

Source from the content-addressed store, hash-verified

4537 self.assertEqual(s, t)
4538
4539 def test_implicit_context(self):
4540 Decimal = self.decimal.Decimal
4541 localcontext = self.decimal.localcontext
4542
4543 with localcontext() as c:
4544 c.prec = 1
4545 c.Emax = 1
4546 c.Emin = -1
4547
4548 # abs
4549 self.assertEqual(abs(Decimal("-10")), 10)
4550 # add
4551 self.assertEqual(Decimal("7") + 1, 8)
4552 # divide
4553 self.assertEqual(Decimal("10") / 5, 2)
4554 # divide_int
4555 self.assertEqual(Decimal("10") // 7, 1)
4556 # fma
4557 self.assertEqual(Decimal("1.2").fma(Decimal("0.01"), 1), 1)
4558 self.assertIs(Decimal("NaN").fma(7, 1).is_nan(), True)
4559 # three arg power
4560 self.assertEqual(pow(Decimal(10), 2, 7), 2)
4561 self.assertEqual(pow(10, Decimal(2), 7), 2)
4562 if self.decimal == C:
4563 self.assertEqual(pow(10, 2, Decimal(7)), 2)
4564 else:
4565 # XXX: There is no special method to dispatch on the
4566 # third arg of three-arg power.
4567 self.assertRaises(TypeError, pow, 10, 2, Decimal(7))
4568 # exp
4569 self.assertEqual(Decimal("1.01").exp(), 3)
4570 # is_normal
4571 self.assertIs(Decimal("0.01").is_normal(), False)
4572 # is_subnormal
4573 self.assertIs(Decimal("0.01").is_subnormal(), True)
4574 # ln
4575 self.assertEqual(Decimal("20").ln(), 3)
4576 # log10
4577 self.assertEqual(Decimal("20").log10(), 1)
4578 # logb
4579 self.assertEqual(Decimal("580").logb(), 2)
4580 # logical_invert
4581 self.assertEqual(Decimal("10").logical_invert(), 1)
4582 # minus
4583 self.assertEqual(-Decimal("-10"), 10)
4584 # multiply
4585 self.assertEqual(Decimal("2") * 4, 8)
4586 # next_minus
4587 self.assertEqual(Decimal("10").next_minus(), 9)
4588 # next_plus
4589 self.assertEqual(Decimal("10").next_plus(), Decimal('2E+1'))
4590 # normalize
4591 self.assertEqual(Decimal("-10").normalize(), Decimal('-1E+1'))
4592 # number_class
4593 self.assertEqual(Decimal("10").number_class(), '+Normal')
4594 # plus
4595 self.assertEqual(+Decimal("-1"), -1)
4596 # remainder

Callers

nothing calls this directly

Calls 15

localcontextFunction · 0.85
DecimalClass · 0.85
assertTrueMethod · 0.80
absFunction · 0.50
powFunction · 0.50
assertEqualMethod · 0.45
fmaMethod · 0.45
assertIsMethod · 0.45
is_nanMethod · 0.45
assertRaisesMethod · 0.45
expMethod · 0.45
is_normalMethod · 0.45

Tested by

no test coverage detected