Alle Dateien aus dem Pythonkurs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

31 lines
1018 B

import pytest
from numpy.testing import assert_raises
from numpy import array_api as xp
import numpy as np
@pytest.mark.parametrize(
"from_, to, expected",
[
(xp.int8, xp.int16, True),
(xp.int16, xp.int8, False),
(xp.bool, xp.int8, False),
(xp.asarray(0, dtype=xp.uint8), xp.int8, False),
],
)
def test_can_cast(from_, to, expected):
"""
can_cast() returns correct result
"""
assert xp.can_cast(from_, to) == expected
def test_isdtype_strictness():
assert_raises(TypeError, lambda: xp.isdtype(xp.float64, 64))
assert_raises(ValueError, lambda: xp.isdtype(xp.float64, 'f8'))
assert_raises(TypeError, lambda: xp.isdtype(xp.float64, (('integral',),)))
assert_raises(TypeError, lambda: xp.isdtype(xp.float64, np.object_))
# TODO: These will require https://github.com/numpy/numpy/issues/23883
# assert_raises(TypeError, lambda: xp.isdtype(xp.float64, None))
# assert_raises(TypeError, lambda: xp.isdtype(xp.float64, np.float64))