diff options
author | Andrew Leech <andrew.leech@planetinnovation.com.au> | 2022-07-04 17:35:46 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2022-07-25 14:23:34 +1000 |
commit | 1e87b56219c69306d77a887cac3d29146180f113 (patch) | |
tree | c2e0dd58749e4ec4644407660a73d7db3201d940 /tests/float/float_dunder.py | |
parent | fa15aed0f718562871288aa174e91507a134db28 (diff) |
py/obj: Add support for __float__ and __complex__ functions.
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") |