summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/float/cmath_dunder.py21
-rw-r--r--tests/float/complex_dunder.py6
-rw-r--r--tests/float/math_dunder.py15
3 files changed, 42 insertions, 0 deletions
diff --git a/tests/float/cmath_dunder.py b/tests/float/cmath_dunder.py
new file mode 100644
index 000000000..352634151
--- /dev/null
+++ b/tests/float/cmath_dunder.py
@@ -0,0 +1,21 @@
+# test that cmath functions support user classes with __float__ and __complex__
+
+try:
+ import cmath
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+
+class TestFloat:
+ def __float__(self):
+ return 1.0
+
+
+class TestComplex:
+ def __complex__(self):
+ return 1j + 10
+
+
+for clas in TestFloat, TestComplex:
+ print("%.5g" % cmath.phase(clas()))
diff --git a/tests/float/complex_dunder.py b/tests/float/complex_dunder.py
index 128dc6929..975d829b4 100644
--- a/tests/float/complex_dunder.py
+++ b/tests/float/complex_dunder.py
@@ -1,6 +1,11 @@
# test __complex__ function support
+class TestFloat:
+ def __float__(self):
+ return 1.0
+
+
class TestComplex:
def __complex__(self):
return 1j + 10
@@ -20,6 +25,7 @@ class Test:
pass
+print(complex(TestFloat()))
print(complex(TestComplex()))
try:
diff --git a/tests/float/math_dunder.py b/tests/float/math_dunder.py
new file mode 100644
index 000000000..33ea7f7c1
--- /dev/null
+++ b/tests/float/math_dunder.py
@@ -0,0 +1,15 @@
+# test that math functions support user classes with __float__
+
+try:
+ import math
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+
+class TestFloat:
+ def __float__(self):
+ return 1.0
+
+
+print("%.5g" % math.exp(TestFloat()))