- Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathtest_pytest_helpers.py
29 lines (23 loc) · 1.5 KB
/
test_pytest_helpers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
frompytestimportraises
fromarray_api_testsimportxpas_xp
fromarray_api_testsimport_array_moduleasxp
fromarray_api_testsimportpytest_helpersasph
deftest_assert_dtype():
ph.assert_dtype("promoted_func", in_dtype=[xp.uint8, xp.int8], out_dtype=xp.int16)
withraises(AssertionError):
ph.assert_dtype("bad_func", in_dtype=[xp.uint8, xp.int8], out_dtype=xp.float32)
ph.assert_dtype("bool_func", in_dtype=[xp.uint8, xp.int8], out_dtype=xp.bool, expected=xp.bool)
ph.assert_dtype("single_promoted_func", in_dtype=[xp.uint8], out_dtype=xp.uint8)
ph.assert_dtype("single_bool_func", in_dtype=[xp.uint8], out_dtype=xp.bool, expected=xp.bool)
deftest_assert_array_elements():
ph.assert_array_elements("int zeros", out=xp.asarray(0), expected=xp.asarray(0))
ph.assert_array_elements("pos zeros", out=xp.asarray(0.0), expected=xp.asarray(0.0))
ph.assert_array_elements("neg zeros", out=xp.asarray(-0.0), expected=xp.asarray(-0.0))
ifhasattr(_xp, "signbit"):
withraises(AssertionError):
ph.assert_array_elements("mixed sign zeros", out=xp.asarray(0.0), expected=xp.asarray(-0.0))
withraises(AssertionError):
ph.assert_array_elements("mixed sign zeros", out=xp.asarray(-0.0), expected=xp.asarray(0.0))
ph.assert_array_elements("nans", out=xp.asarray(float("nan")), expected=xp.asarray(float("nan")))
withraises(AssertionError):
ph.assert_array_elements("nan and zero", out=xp.asarray(float("nan")), expected=xp.asarray(0.0))