summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2020-09-16 11:43:38 +0200
committerBas van Beek <b.f.van.beek@vu.nl>2020-10-01 13:56:27 +0200
commit37acf5f73c05bfbd115eeefc6201c2212b240933 (patch)
treece133125fb131aa3805afc0d6f1838b0003de8b8
parentabe1429ee329571b640bf2b59b9be361e4f84c86 (diff)
downloadnumpy-37acf5f73c05bfbd115eeefc6201c2212b240933.tar.gz
TST: Added tests for `np.core._asarray`
-rw-r--r--numpy/typing/tests/data/fail/array_constructors.py7
-rw-r--r--numpy/typing/tests/data/pass/array_constructors.py38
-rw-r--r--numpy/typing/tests/data/reveal/array_constructors.py38
3 files changed, 83 insertions, 0 deletions
diff --git a/numpy/typing/tests/data/fail/array_constructors.py b/numpy/typing/tests/data/fail/array_constructors.py
new file mode 100644
index 000000000..04e869863
--- /dev/null
+++ b/numpy/typing/tests/data/fail/array_constructors.py
@@ -0,0 +1,7 @@
+import numpy as np
+
+a: np.ndarray
+
+np.require(a, requirements=1) # E: No overload variant
+np.require(a, requirements="TEST") # E: incompatible type
+
diff --git a/numpy/typing/tests/data/pass/array_constructors.py b/numpy/typing/tests/data/pass/array_constructors.py
new file mode 100644
index 000000000..d5f7c35ca
--- /dev/null
+++ b/numpy/typing/tests/data/pass/array_constructors.py
@@ -0,0 +1,38 @@
+from typing import List
+import numpy as np
+
+class SubClass(np.ndarray): ...
+
+A = np.array([1])
+B = A.view(SubClass).copy()
+C = [1]
+
+np.asarray(A)
+np.asarray(B)
+np.asarray(C)
+
+np.asanyarray(A)
+np.asanyarray(B)
+np.asanyarray(B, dtype=int)
+np.asanyarray(C)
+
+np.ascontiguousarray(A)
+np.ascontiguousarray(B)
+np.ascontiguousarray(C)
+
+np.asfortranarray(A)
+np.asfortranarray(B)
+np.asfortranarray(C)
+
+np.require(A)
+np.require(B)
+np.require(B, dtype=int)
+np.require(B, requirements=None)
+np.require(B, requirements="E")
+np.require(B, requirements=["ENSUREARRAY"])
+np.require(B, requirements={"F", "E"})
+np.require(B, requirements=["C", "OWNDATA"])
+np.require(B, requirements="W")
+np.require(B, requirements="A")
+np.require(C)
+
diff --git a/numpy/typing/tests/data/reveal/array_constructors.py b/numpy/typing/tests/data/reveal/array_constructors.py
new file mode 100644
index 000000000..ffbcc869c
--- /dev/null
+++ b/numpy/typing/tests/data/reveal/array_constructors.py
@@ -0,0 +1,38 @@
+from typing import List
+import numpy as np
+
+class SubClass(np.ndarray): ...
+
+A: np.ndarray
+B: SubClass
+C: List[int]
+
+reveal_type(np.asarray(A)) # E: ndarray
+reveal_type(np.asarray(B)) # E: ndarray
+reveal_type(np.asarray(C)) # E: ndarray
+
+reveal_type(np.asanyarray(A)) # E: ndarray
+reveal_type(np.asanyarray(B)) # E: SubClass
+reveal_type(np.asanyarray(B, dtype=int)) # E: ndarray
+reveal_type(np.asanyarray(C)) # E: ndarray
+
+reveal_type(np.ascontiguousarray(A)) # E: ndarray
+reveal_type(np.ascontiguousarray(B)) # E: ndarray
+reveal_type(np.ascontiguousarray(C)) # E: ndarray
+
+reveal_type(np.asfortranarray(A)) # E: ndarray
+reveal_type(np.asfortranarray(B)) # E: ndarray
+reveal_type(np.asfortranarray(C)) # E: ndarray
+
+reveal_type(np.require(A)) # E: ndarray
+reveal_type(np.require(B)) # E: SubClass
+reveal_type(np.require(B, requirements=None)) # E: SubClass
+reveal_type(np.require(B, dtype=int)) # E: ndarray
+reveal_type(np.require(B, requirements="E")) # E: ndarray
+reveal_type(np.require(B, requirements=["ENSUREARRAY"])) # E: ndarray
+reveal_type(np.require(B, requirements={"F", "E"})) # E: ndarray
+reveal_type(np.require(B, requirements=["C", "OWNDATA"])) # E: SubClass
+reveal_type(np.require(B, requirements="W")) # E: SubClass
+reveal_type(np.require(B, requirements="A")) # E: SubClass
+reveal_type(np.require(C)) # E: ndarray
+