summaryrefslogtreecommitdiff
path: root/numpy/tests
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2020-09-01 16:03:49 +0200
committerBas van Beek <b.f.van.beek@vu.nl>2020-09-01 16:03:49 +0200
commit4d931c5a158f8c98eef87d2d35b4e91aa93d9a69 (patch)
treef77352b4a682af1598b0f851ec0bcb0d410ed78c /numpy/tests
parente171b2b1063ba823ff85d6a6b259398e52a17de6 (diff)
downloadnumpy-4d931c5a158f8c98eef87d2d35b4e91aa93d9a69.tar.gz
TST: Add tests for the new `generic` constructors
Diffstat (limited to 'numpy/tests')
-rw-r--r--numpy/tests/typing/pass/scalars.py31
1 files changed, 28 insertions, 3 deletions
diff --git a/numpy/tests/typing/pass/scalars.py b/numpy/tests/typing/pass/scalars.py
index 1c7ace282..027a4fa50 100644
--- a/numpy/tests/typing/pass/scalars.py
+++ b/numpy/tests/typing/pass/scalars.py
@@ -1,27 +1,37 @@
+import datetime as dt
import numpy as np
# Construction
+class D:
+ def __index__(self) -> int:
+ return 0
+
+
class C:
- def __complex__(self):
+ def __complex__(self) -> complex:
return 3j
class B:
- def __int__(self):
+ def __int__(self) -> int:
return 4
class A:
- def __float__(self):
+ def __float__(self) -> float:
return 4.0
np.complex64(3j)
+np.complex64(A())
np.complex64(C())
np.complex128(3j)
np.complex128(C())
np.complex128(None)
+np.complex64(D())
+np.complex64("1.2")
+np.complex128(b"2j")
np.int8(4)
np.int16(3.4)
@@ -29,11 +39,17 @@ np.int32(4)
np.int64(-1)
np.uint8(B())
np.uint32()
+np.uint64(D())
+np.int32("1")
+np.int64(b"2")
np.float16(A())
np.float32(16)
np.float64(3.0)
np.float64(None)
+np.float32("1")
+np.float16(b"2.5")
+np.float32(D())
np.bytes_(b"hello")
np.bytes_("hello", 'utf-8')
@@ -66,14 +82,23 @@ np.uint64().shape
# Time structures
np.datetime64()
np.datetime64(0, "D")
+np.datetime64(0, b"D")
np.datetime64("2019")
+np.datetime64(b"2019")
np.datetime64("2019", "D")
+np.datetime64(np.datetime64())
+np.datetime64(dt.datetime(2000, 5, 3))
np.datetime64(None)
np.datetime64(None, "D")
np.timedelta64()
np.timedelta64(0)
np.timedelta64(0, "D")
+np.timedelta64(0, b"D")
+np.timedelta64("3")
+np.timedelta64(b"5")
+np.timedelta64(np.timedelta64(2))
+np.timedelta64(dt.timedelta(2))
np.timedelta64(None)
np.timedelta64(None, "D")