summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorBas van Beek <b.f.van.beek@vu.nl>2020-11-15 20:06:58 +0100
committerBas van Beek <b.f.van.beek@vu.nl>2020-11-24 17:56:19 +0100
commite78b9f3f06677d20463a1fed9d8da37924633749 (patch)
tree5a6976f28b6d542e01987687798de1e1229d302b /numpy
parent9088ba0b204f2bba37b11b348a539ab84cd17ab1 (diff)
downloadnumpy-e78b9f3f06677d20463a1fed9d8da37924633749.tar.gz
TST: Added typing tests for comparison ops
Diffstat (limited to 'numpy')
-rw-r--r--numpy/typing/tests/data/pass/comparisons.py247
-rw-r--r--numpy/typing/tests/data/reveal/comparisons.py247
2 files changed, 494 insertions, 0 deletions
diff --git a/numpy/typing/tests/data/pass/comparisons.py b/numpy/typing/tests/data/pass/comparisons.py
new file mode 100644
index 000000000..b298117a6
--- /dev/null
+++ b/numpy/typing/tests/data/pass/comparisons.py
@@ -0,0 +1,247 @@
+import numpy as np
+
+c16 = np.complex128()
+f8 = np.float64()
+i8 = np.int64()
+u8 = np.uint64()
+
+c8 = np.complex64()
+f4 = np.float32()
+i4 = np.int32()
+u4 = np.uint32()
+
+dt = np.datetime64(0, "D")
+td = np.timedelta64(0, "D")
+
+b_ = np.bool_()
+
+b = bool()
+c = complex()
+f = float()
+i = int()
+
+AR = np.array([0], dtype=np.int64)
+AR.setflags(write=False)
+
+SEQ = (0, 1, 2, 3, 4)
+
+# Time structures
+
+dt > dt
+
+td > td
+td > i
+td > i4
+td > i8
+td > AR
+td > SEQ
+
+# boolean
+
+b_ > b
+b_ > b_
+b_ > i
+b_ > i8
+b_ > i4
+b_ > u8
+b_ > u4
+b_ > f
+b_ > f8
+b_ > f4
+b_ > c
+b_ > c16
+b_ > c8
+b_ > AR
+b_ > SEQ
+
+# Complex
+
+c16 > c16
+c16 > f8
+c16 > i8
+c16 > c8
+c16 > f4
+c16 > i4
+c16 > b_
+c16 > b
+c16 > c
+c16 > f
+c16 > i
+c16 > AR
+c16 > SEQ
+
+c16 > c16
+f8 > c16
+i8 > c16
+c8 > c16
+f4 > c16
+i4 > c16
+b_ > c16
+b > c16
+c > c16
+f > c16
+i > c16
+AR > c16
+SEQ > c16
+
+c8 > c16
+c8 > f8
+c8 > i8
+c8 > c8
+c8 > f4
+c8 > i4
+c8 > b_
+c8 > b
+c8 > c
+c8 > f
+c8 > i
+c8 > AR
+c8 > SEQ
+
+c16 > c8
+f8 > c8
+i8 > c8
+c8 > c8
+f4 > c8
+i4 > c8
+b_ > c8
+b > c8
+c > c8
+f > c8
+i > c8
+AR > c8
+SEQ > c8
+
+# Float
+
+f8 > f8
+f8 > i8
+f8 > f4
+f8 > i4
+f8 > b_
+f8 > b
+f8 > c
+f8 > f
+f8 > i
+f8 > AR
+f8 > SEQ
+
+f8 > f8
+i8 > f8
+f4 > f8
+i4 > f8
+b_ > f8
+b > f8
+c > f8
+f > f8
+i > f8
+AR > f8
+SEQ > f8
+
+f4 > f8
+f4 > i8
+f4 > f4
+f4 > i4
+f4 > b_
+f4 > b
+f4 > c
+f4 > f
+f4 > i
+f4 > AR
+f4 > SEQ
+
+f8 > f4
+i8 > f4
+f4 > f4
+i4 > f4
+b_ > f4
+b > f4
+c > f4
+f > f4
+i > f4
+AR > f4
+SEQ > f4
+
+# Int
+
+i8 > i8
+i8 > u8
+i8 > i4
+i8 > u4
+i8 > b_
+i8 > b
+i8 > c
+i8 > f
+i8 > i
+i8 > AR
+i8 > SEQ
+
+u8 > u8
+u8 > i4
+u8 > u4
+u8 > b_
+u8 > b
+u8 > c
+u8 > f
+u8 > i
+u8 > AR
+u8 > SEQ
+
+i8 > i8
+u8 > i8
+i4 > i8
+u4 > i8
+b_ > i8
+b > i8
+c > i8
+f > i8
+i > i8
+AR > i8
+SEQ > i8
+
+u8 > u8
+i4 > u8
+u4 > u8
+b_ > u8
+b > u8
+c > u8
+f > u8
+i > u8
+AR > u8
+SEQ > u8
+
+i4 > i8
+i4 > i4
+i4 > i
+i4 > b_
+i4 > b
+i4 > AR
+i4 > SEQ
+
+u4 > i8
+u4 > i4
+u4 > u8
+u4 > u4
+u4 > i
+u4 > b_
+u4 > b
+u4 > AR
+u4 > SEQ
+
+i8 > i4
+i4 > i4
+i > i4
+b_ > i4
+b > i4
+AR > i4
+SEQ > i4
+
+i8 > u4
+i4 > u4
+u8 > u4
+u4 > u4
+b_ > u4
+b > u4
+i > u4
+AR > u4
+SEQ > u4
diff --git a/numpy/typing/tests/data/reveal/comparisons.py b/numpy/typing/tests/data/reveal/comparisons.py
new file mode 100644
index 000000000..82d1fa6de
--- /dev/null
+++ b/numpy/typing/tests/data/reveal/comparisons.py
@@ -0,0 +1,247 @@
+import numpy as np
+
+c16 = np.complex128()
+f8 = np.float64()
+i8 = np.int64()
+u8 = np.uint64()
+
+c8 = np.complex64()
+f4 = np.float32()
+i4 = np.int32()
+u4 = np.uint32()
+
+dt = np.datetime64(0, "D")
+td = np.timedelta64(0, "D")
+
+b_ = np.bool_()
+
+b = bool()
+c = complex()
+f = float()
+i = int()
+
+AR = np.array([0], dtype=np.int64)
+AR.setflags(write=False)
+
+SEQ = (0, 1, 2, 3, 4)
+
+# Time structures
+
+reveal_type(dt > dt) # E: numpy.bool_
+
+reveal_type(td > td) # E: numpy.bool_
+reveal_type(td > i) # E: numpy.bool_
+reveal_type(td > i4) # E: numpy.bool_
+reveal_type(td > i8) # E: numpy.bool_
+reveal_type(td > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(td > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+# boolean
+
+reveal_type(b_ > b) # E: numpy.bool_
+reveal_type(b_ > b_) # E: numpy.bool_
+reveal_type(b_ > i) # E: numpy.bool_
+reveal_type(b_ > i8) # E: numpy.bool_
+reveal_type(b_ > i4) # E: numpy.bool_
+reveal_type(b_ > u8) # E: numpy.bool_
+reveal_type(b_ > u4) # E: numpy.bool_
+reveal_type(b_ > f) # E: numpy.bool_
+reveal_type(b_ > f8) # E: numpy.bool_
+reveal_type(b_ > f4) # E: numpy.bool_
+reveal_type(b_ > c) # E: numpy.bool_
+reveal_type(b_ > c16) # E: numpy.bool_
+reveal_type(b_ > c8) # E: numpy.bool_
+reveal_type(b_ > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(b_ > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+# Complex
+
+reveal_type(c16 > c16) # E: numpy.bool_
+reveal_type(c16 > f8) # E: numpy.bool_
+reveal_type(c16 > i8) # E: numpy.bool_
+reveal_type(c16 > c8) # E: numpy.bool_
+reveal_type(c16 > f4) # E: numpy.bool_
+reveal_type(c16 > i4) # E: numpy.bool_
+reveal_type(c16 > b_) # E: numpy.bool_
+reveal_type(c16 > b) # E: numpy.bool_
+reveal_type(c16 > c) # E: numpy.bool_
+reveal_type(c16 > f) # E: numpy.bool_
+reveal_type(c16 > i) # E: numpy.bool_
+reveal_type(c16 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(c16 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(c16 > c16) # E: numpy.bool_
+reveal_type(f8 > c16) # E: numpy.bool_
+reveal_type(i8 > c16) # E: numpy.bool_
+reveal_type(c8 > c16) # E: numpy.bool_
+reveal_type(f4 > c16) # E: numpy.bool_
+reveal_type(i4 > c16) # E: numpy.bool_
+reveal_type(b_ > c16) # E: numpy.bool_
+reveal_type(b > c16) # E: numpy.bool_
+reveal_type(c > c16) # E: numpy.bool_
+reveal_type(f > c16) # E: numpy.bool_
+reveal_type(i > c16) # E: numpy.bool_
+reveal_type(AR > c16) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > c16) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(c8 > c16) # E: numpy.bool_
+reveal_type(c8 > f8) # E: numpy.bool_
+reveal_type(c8 > i8) # E: numpy.bool_
+reveal_type(c8 > c8) # E: numpy.bool_
+reveal_type(c8 > f4) # E: numpy.bool_
+reveal_type(c8 > i4) # E: numpy.bool_
+reveal_type(c8 > b_) # E: numpy.bool_
+reveal_type(c8 > b) # E: numpy.bool_
+reveal_type(c8 > c) # E: numpy.bool_
+reveal_type(c8 > f) # E: numpy.bool_
+reveal_type(c8 > i) # E: numpy.bool_
+reveal_type(c8 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(c8 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(c16 > c8) # E: numpy.bool_
+reveal_type(f8 > c8) # E: numpy.bool_
+reveal_type(i8 > c8) # E: numpy.bool_
+reveal_type(c8 > c8) # E: numpy.bool_
+reveal_type(f4 > c8) # E: numpy.bool_
+reveal_type(i4 > c8) # E: numpy.bool_
+reveal_type(b_ > c8) # E: numpy.bool_
+reveal_type(b > c8) # E: numpy.bool_
+reveal_type(c > c8) # E: numpy.bool_
+reveal_type(f > c8) # E: numpy.bool_
+reveal_type(i > c8) # E: numpy.bool_
+reveal_type(AR > c8) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > c8) # E: Union[numpy.ndarray, numpy.bool_]
+
+# Float
+
+reveal_type(f8 > f8) # E: numpy.bool_
+reveal_type(f8 > i8) # E: numpy.bool_
+reveal_type(f8 > f4) # E: numpy.bool_
+reveal_type(f8 > i4) # E: numpy.bool_
+reveal_type(f8 > b_) # E: numpy.bool_
+reveal_type(f8 > b) # E: numpy.bool_
+reveal_type(f8 > c) # E: numpy.bool_
+reveal_type(f8 > f) # E: numpy.bool_
+reveal_type(f8 > i) # E: numpy.bool_
+reveal_type(f8 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(f8 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(f8 > f8) # E: numpy.bool_
+reveal_type(i8 > f8) # E: numpy.bool_
+reveal_type(f4 > f8) # E: numpy.bool_
+reveal_type(i4 > f8) # E: numpy.bool_
+reveal_type(b_ > f8) # E: numpy.bool_
+reveal_type(b > f8) # E: numpy.bool_
+reveal_type(c > f8) # E: numpy.bool_
+reveal_type(f > f8) # E: numpy.bool_
+reveal_type(i > f8) # E: numpy.bool_
+reveal_type(AR > f8) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > f8) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(f4 > f8) # E: numpy.bool_
+reveal_type(f4 > i8) # E: numpy.bool_
+reveal_type(f4 > f4) # E: numpy.bool_
+reveal_type(f4 > i4) # E: numpy.bool_
+reveal_type(f4 > b_) # E: numpy.bool_
+reveal_type(f4 > b) # E: numpy.bool_
+reveal_type(f4 > c) # E: numpy.bool_
+reveal_type(f4 > f) # E: numpy.bool_
+reveal_type(f4 > i) # E: numpy.bool_
+reveal_type(f4 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(f4 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(f8 > f4) # E: numpy.bool_
+reveal_type(i8 > f4) # E: numpy.bool_
+reveal_type(f4 > f4) # E: numpy.bool_
+reveal_type(i4 > f4) # E: numpy.bool_
+reveal_type(b_ > f4) # E: numpy.bool_
+reveal_type(b > f4) # E: numpy.bool_
+reveal_type(c > f4) # E: numpy.bool_
+reveal_type(f > f4) # E: numpy.bool_
+reveal_type(i > f4) # E: numpy.bool_
+reveal_type(AR > f4) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > f4) # E: Union[numpy.ndarray, numpy.bool_]
+
+# Int
+
+reveal_type(i8 > i8) # E: numpy.bool_
+reveal_type(i8 > u8) # E: numpy.bool_
+reveal_type(i8 > i4) # E: numpy.bool_
+reveal_type(i8 > u4) # E: numpy.bool_
+reveal_type(i8 > b_) # E: numpy.bool_
+reveal_type(i8 > b) # E: numpy.bool_
+reveal_type(i8 > c) # E: numpy.bool_
+reveal_type(i8 > f) # E: numpy.bool_
+reveal_type(i8 > i) # E: numpy.bool_
+reveal_type(i8 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(i8 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(u8 > u8) # E: numpy.bool_
+reveal_type(u8 > i4) # E: numpy.bool_
+reveal_type(u8 > u4) # E: numpy.bool_
+reveal_type(u8 > b_) # E: numpy.bool_
+reveal_type(u8 > b) # E: numpy.bool_
+reveal_type(u8 > c) # E: numpy.bool_
+reveal_type(u8 > f) # E: numpy.bool_
+reveal_type(u8 > i) # E: numpy.bool_
+reveal_type(u8 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(u8 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(i8 > i8) # E: numpy.bool_
+reveal_type(u8 > i8) # E: numpy.bool_
+reveal_type(i4 > i8) # E: numpy.bool_
+reveal_type(u4 > i8) # E: numpy.bool_
+reveal_type(b_ > i8) # E: numpy.bool_
+reveal_type(b > i8) # E: numpy.bool_
+reveal_type(c > i8) # E: numpy.bool_
+reveal_type(f > i8) # E: numpy.bool_
+reveal_type(i > i8) # E: numpy.bool_
+reveal_type(AR > i8) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > i8) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(u8 > u8) # E: numpy.bool_
+reveal_type(i4 > u8) # E: numpy.bool_
+reveal_type(u4 > u8) # E: numpy.bool_
+reveal_type(b_ > u8) # E: numpy.bool_
+reveal_type(b > u8) # E: numpy.bool_
+reveal_type(c > u8) # E: numpy.bool_
+reveal_type(f > u8) # E: numpy.bool_
+reveal_type(i > u8) # E: numpy.bool_
+reveal_type(AR > u8) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > u8) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(i4 > i8) # E: numpy.bool_
+reveal_type(i4 > i4) # E: numpy.bool_
+reveal_type(i4 > i) # E: numpy.bool_
+reveal_type(i4 > b_) # E: numpy.bool_
+reveal_type(i4 > b) # E: numpy.bool_
+reveal_type(i4 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(i4 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(u4 > i8) # E: numpy.bool_
+reveal_type(u4 > i4) # E: numpy.bool_
+reveal_type(u4 > u8) # E: numpy.bool_
+reveal_type(u4 > u4) # E: numpy.bool_
+reveal_type(u4 > i) # E: numpy.bool_
+reveal_type(u4 > b_) # E: numpy.bool_
+reveal_type(u4 > b) # E: numpy.bool_
+reveal_type(u4 > AR) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(u4 > SEQ) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(i8 > i4) # E: numpy.bool_
+reveal_type(i4 > i4) # E: numpy.bool_
+reveal_type(i > i4) # E: numpy.bool_
+reveal_type(b_ > i4) # E: numpy.bool_
+reveal_type(b > i4) # E: numpy.bool_
+reveal_type(AR > i4) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > i4) # E: Union[numpy.ndarray, numpy.bool_]
+
+reveal_type(i8 > u4) # E: numpy.bool_
+reveal_type(i4 > u4) # E: numpy.bool_
+reveal_type(u8 > u4) # E: numpy.bool_
+reveal_type(u4 > u4) # E: numpy.bool_
+reveal_type(b_ > u4) # E: numpy.bool_
+reveal_type(b > u4) # E: numpy.bool_
+reveal_type(i > u4) # E: numpy.bool_
+reveal_type(AR > u4) # E: Union[numpy.ndarray, numpy.bool_]
+reveal_type(SEQ > u4) # E: Union[numpy.ndarray, numpy.bool_]