Skip to content

Commit ae79062

Browse files
authored
Merge pull request #1849 from apdavison/issue1848
Fix test_time_slice_deepcopy_data() failure on numpy 2.4.x
2 parents fda7d68 + 4c53f0c commit ae79062

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

.github/workflows/core-test.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,13 @@ jobs:
2626
matrix:
2727
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
2828
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
29-
numpy-version: ['1.25.2', '1.26.4', '2.0.2','2.1.3', '2.2.6', '2.3.3']
29+
numpy-version: ['1.25.2', '1.26.4', '2.0.2','2.1.3', '2.2.6', '2.3.3', '2.4.4']
3030
# 1.25: 3.11, 1.26: 3.12
3131
exclude:
3232
- python-version: '3.10'
3333
numpy-version: '2.3.3'
34+
- python-version: '3.10'
35+
numpy-version: '2.4.4'
3436
- python-version: '3.12'
3537
numpy-version: '1.25.2'
3638
- python-version: '3.13'

neo/test/coretest/test_analogsignal.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -545,15 +545,17 @@ def test__time_slice__no_explicit_time(self):
545545
def test__time_slice_deepcopy_data(self):
546546
result = self.signal1.time_slice(None, None)
547547

548-
# Change values of original array
549-
self.signal1[2] = 7.3 * self.signal1.units
548+
# Take a copy of sliced array before any modifications
549+
result_data = result.magnitude.copy()
550550

551-
np.testing.assert_raises(AssertionError, assert_array_equal, self.signal1, result)
551+
# Change values of original array, sliced array should be unaffected (proves deep copy)
552+
self.signal1[2] = 7.3 * self.signal1.units
553+
np.testing.assert_array_equal(result.magnitude, result_data)
552554

553-
# Change values of sliced array
555+
# Take a copy of original array, then change values of sliced array, original array should be unaffected
556+
signal1_data = self.signal1.magnitude.copy()
554557
result[3] = 9.5 * result.units
555-
556-
np.testing.assert_raises(AssertionError, assert_array_equal, self.signal1, result)
558+
np.testing.assert_array_equal(self.signal1.magnitude, signal1_data)
557559

558560
def test__slice_should_change_sampling_period(self):
559561
result1 = self.signal1[:2, 0]

0 commit comments

Comments
 (0)