def test_read_arrays_no_data_but_dstype(): """This is a slightly-different error path than read_arrays()""" with pytest.raises(IOErr) as err: io.read_arrays(Data2DInt) assert str(err.value) == "no arrays found to be loaded"
def test_read_arrays_data1d(): dset = io.read_arrays([1, 2, 3], (4, 5, 6), np.asarray([0.1, 0.2, 0.1])) assert isinstance(dset, Data1D) assert dset.name == '' assert dset.x == pytest.approx(np.asarray([1, 2, 3])) assert dset.y == pytest.approx(np.asarray([4, 5, 6])) assert dset.staterror == pytest.approx(np.asarray([0.1, 0.2, 0.1])) assert dset.syserror is None # Check it creates NumPy arrays assert isinstance(dset.x, np.ndarray) assert isinstance(dset.y, np.ndarray) assert isinstance(dset.staterror, np.ndarray)
def test_read_arrays_data1d_combined(): arg = np.asarray([[1, 4, 0.2, 0.1], [2, 5, 0.3, 0.05]]) dset = io.read_arrays(arg) assert isinstance(dset, Data1D) assert dset.name == '' assert dset.x == pytest.approx(np.asarray([1, 2])) assert dset.y == pytest.approx(np.asarray([4, 5])) assert dset.staterror == pytest.approx(np.asarray([0.2, 0.3])) assert dset.syserror == pytest.approx(np.asarray([0.1, 0.05])) # Check it creates NumPy arrays assert isinstance(dset.x, np.ndarray) assert isinstance(dset.y, np.ndarray) assert isinstance(dset.staterror, np.ndarray) assert isinstance(dset.syserror, np.ndarray)
def test_read_arrays_not_an_array_type(): with pytest.raises(IOErr) as err: io.read_arrays("foo") assert str(err.value) == "'foo' must be a Numpy array, list, or tuple"
def test_read_arrays_not_enough_data(dstype, dname, nargs): with pytest.raises(TypeError) as err: io.read_arrays([1, 2, 3], dstype) assert str(err.value) == f"data set '{dname}' takes at least {nargs} args"
def test_read_arrays_no_data(): """This can run even with the dummy backend""" with pytest.raises(IOErr) as err: io.read_arrays() assert str(err.value) == "no arrays found to be loaded"