diff options
Diffstat (limited to 'tests/float/float_dunder.py')
-rw-r--r-- | tests/float/float_dunder.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/float/float_dunder.py b/tests/float/float_dunder.py new file mode 100644 index 000000000..1cd03db52 --- /dev/null +++ b/tests/float/float_dunder.py @@ -0,0 +1,42 @@ +# test __float__ function support + + +class TestFloat: + def __float__(self): + return 10.0 + + +class TestStrFloat: + def __float__(self): + return "a" + + +class TestNonFloat: + def __float__(self): + return 6 + + +class Test: + pass + + +print("%.1f" % float(TestFloat())) +print("%.1f" % TestFloat()) + + +try: + print(float(TestStrFloat())) +except TypeError: + print("TypeError") + + +try: + print(float(TestNonFloat())) +except TypeError: + print("TypeError") + + +try: + print(float(Test())) +except TypeError: + print("TypeError") |