(self)
| 4855 | self.assertEqual(res, 1 << 117) |
| 4856 | |
| 4857 | def test_py_immutability_operations(self): |
| 4858 | # Do operations and check that it didn't change internal objects. |
| 4859 | Decimal = P.Decimal |
| 4860 | DefaultContext = P.DefaultContext |
| 4861 | setcontext = P.setcontext |
| 4862 | |
| 4863 | c = DefaultContext.copy() |
| 4864 | c.traps = dict((s, 0) for s in OrderedSignals[P]) |
| 4865 | setcontext(c) |
| 4866 | |
| 4867 | d1 = Decimal('-25e55') |
| 4868 | b1 = Decimal('-25e55') |
| 4869 | d2 = Decimal('33e+33') |
| 4870 | b2 = Decimal('33e+33') |
| 4871 | |
| 4872 | def checkSameDec(operation, useOther=False): |
| 4873 | if useOther: |
| 4874 | eval("d1." + operation + "(d2)") |
| 4875 | self.assertEqual(d1._sign, b1._sign) |
| 4876 | self.assertEqual(d1._int, b1._int) |
| 4877 | self.assertEqual(d1._exp, b1._exp) |
| 4878 | self.assertEqual(d2._sign, b2._sign) |
| 4879 | self.assertEqual(d2._int, b2._int) |
| 4880 | self.assertEqual(d2._exp, b2._exp) |
| 4881 | else: |
| 4882 | eval("d1." + operation + "()") |
| 4883 | self.assertEqual(d1._sign, b1._sign) |
| 4884 | self.assertEqual(d1._int, b1._int) |
| 4885 | self.assertEqual(d1._exp, b1._exp) |
| 4886 | |
| 4887 | Decimal(d1) |
| 4888 | self.assertEqual(d1._sign, b1._sign) |
| 4889 | self.assertEqual(d1._int, b1._int) |
| 4890 | self.assertEqual(d1._exp, b1._exp) |
| 4891 | |
| 4892 | checkSameDec("__abs__") |
| 4893 | checkSameDec("__add__", True) |
| 4894 | checkSameDec("__divmod__", True) |
| 4895 | checkSameDec("__eq__", True) |
| 4896 | checkSameDec("__ne__", True) |
| 4897 | checkSameDec("__le__", True) |
| 4898 | checkSameDec("__lt__", True) |
| 4899 | checkSameDec("__ge__", True) |
| 4900 | checkSameDec("__gt__", True) |
| 4901 | checkSameDec("__float__") |
| 4902 | checkSameDec("__floordiv__", True) |
| 4903 | checkSameDec("__hash__") |
| 4904 | checkSameDec("__int__") |
| 4905 | checkSameDec("__trunc__") |
| 4906 | checkSameDec("__mod__", True) |
| 4907 | checkSameDec("__mul__", True) |
| 4908 | checkSameDec("__neg__") |
| 4909 | checkSameDec("__bool__") |
| 4910 | checkSameDec("__pos__") |
| 4911 | checkSameDec("__pow__", True) |
| 4912 | checkSameDec("__radd__", True) |
| 4913 | checkSameDec("__rdivmod__", True) |
| 4914 | checkSameDec("__repr__") |
nothing calls this directly
no test coverage detected