From a1dc9c628e9500f672e6a431c6f16110db660517 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Wed, 15 Jul 2026 09:29:37 +0200 Subject: [PATCH] [Fix] Also reject negative pos values --- pyerrors/covobs.py | 4 ++-- tests/covobs_test.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pyerrors/covobs.py b/pyerrors/covobs.py index d84a274c..d64907de 100644 --- a/pyerrors/covobs.py +++ b/pyerrors/covobs.py @@ -31,8 +31,8 @@ class Covobs: else: raise ValueError('Have to specify position of cov-element belonging to mean!') else: - if pos >= self.N: - raise ValueError(f'pos {pos} too large for covariance matrix with dimension {self.N}x{self.N}!') + if pos < 0 or pos >= self.N: + raise ValueError(f'pos {pos} not valid for covariance matrix with dimension {self.N}x{self.N}!') self._grad = np.zeros((self.N, 1)) self._grad[pos] = 1. else: diff --git a/tests/covobs_test.py b/tests/covobs_test.py index 4302dd20..a3f76349 100644 --- a/tests/covobs_test.py +++ b/tests/covobs_test.py @@ -115,3 +115,9 @@ def test_covobs_pos_too_large(): cov = [[1, 0], [0, 1]] with pytest.raises(ValueError): Covobs(1.0, cov, 'test', pos=2) + + +def test_covobs_pos_negative(): + cov = [[1, 0], [0, 1]] + with pytest.raises(ValueError): + Covobs(1.0, cov, 'test', pos=-1)