Server IP : 192.158.238.246 / Your IP : 18.222.94.214 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/numpy/core/tests/ |
Upload File : |
import pytest import warnings import numpy as np @pytest.mark.filterwarnings("error") def test_getattr_warning(): # issue gh-14735: make sure we clear only getattr errors, and let warnings # through class Wrapper: def __init__(self, array): self.array = array def __len__(self): return len(self.array) def __getitem__(self, item): return type(self)(self.array[item]) def __getattr__(self, name): if name.startswith("__array_"): warnings.warn("object got converted", UserWarning, stacklevel=1) return getattr(self.array, name) def __repr__(self): return "<Wrapper({self.array})>".format(self=self) array = Wrapper(np.arange(10)) with pytest.raises(UserWarning, match="object got converted"): np.asarray(array) def test_array_called(): class Wrapper: val = '0' * 100 def __array__(self, result=None): return np.array([self.val], dtype=object) wrapped = Wrapper() arr = np.array(wrapped, dtype=str) assert arr.dtype == 'U100' assert arr[0] == Wrapper.val