mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-14 22:30:25 +01:00
fix: Check if configs appears multiple times when creating an obs (#216)
This commit is contained in:
parent
eb83ff2091
commit
d689959b1f
2 changed files with 7 additions and 1 deletions
|
@ -104,7 +104,9 @@ class Obs:
|
|||
elif isinstance(idx, (list, np.ndarray)):
|
||||
dc = np.unique(np.diff(idx))
|
||||
if np.any(dc < 0):
|
||||
raise ValueError("Unsorted idx for idl[%s]" % (name))
|
||||
raise ValueError("Unsorted idx for idl[%s] at position %s" % (name, ' '.join(['%s' % (pos + 1) for pos in np.where(np.diff(idx) < 0)[0]])))
|
||||
elif np.any(dc == 0):
|
||||
raise ValueError("Duplicate entries in idx for idl[%s] at position %s" % (name, ' '.join(['%s' % (pos + 1) for pos in np.where(np.diff(idx) == 0)[0]])))
|
||||
if len(dc) == 1:
|
||||
self.idl[name] = range(idx[0], idx[-1] + dc[0], dc[0])
|
||||
else:
|
||||
|
|
|
@ -40,6 +40,10 @@ def test_Obs_exceptions():
|
|||
pe.Obs([np.random.rand(4)], ['name'])
|
||||
with pytest.raises(ValueError):
|
||||
pe.Obs([np.random.rand(5)], ['1'], idl=[[5, 3, 2 ,4 ,1]])
|
||||
with pytest.raises(ValueError):
|
||||
pe.Obs([np.random.rand(5)], ['1'], idl=[[1, 2, 3, 3, 5]])
|
||||
with pytest.raises(ValueError):
|
||||
pe.Obs([np.random.rand(5)], ['1'], idl=[[1, 1, 3, 1, 5]])
|
||||
with pytest.raises(TypeError):
|
||||
pe.Obs([np.random.rand(5)], ['1'], idl=['t'])
|
||||
with pytest.raises(ValueError):
|
||||
|
|
Loading…
Add table
Reference in a new issue