Skip to content

Commit 86e1faf

Browse files
committed
[NixFr] Add test to read and compare from different neo versions
1 parent 6f0bf6a commit 86e1faf

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

neo/test/iotest/test_nixio.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
IrregularlySampledSignal, SpikeTrain,
3131
Event, Epoch, ImageSequence, Group, ChannelView)
3232
from neo.test.iotest.common_io_test import BaseTestIO
33+
from neo.test.tools import assert_same_sub_schema
3334
from neo.io.nixio import (NixIO, create_quantity, units_to_string, neover,
3435
dt_from_nix, dt_to_nix, DATETIMEANNOTATION)
3536
from neo.io.nixio_fr import NixIO as NixIO_lazy
@@ -1797,6 +1798,37 @@ def test_file_with_ver(self):
17971798
self.assertEqual(iofile._file_version, neover)
17981799

17991800

1801+
@unittest.skipUnless(HAVE_NIX, "Requires NIX")
1802+
class CompareTestFileVersions(BaseTestIO, unittest.TestCase):
1803+
1804+
ioclass = NixIO_lazy
1805+
entities_to_download = ['nix']
1806+
entities_to_test = []
1807+
1808+
@classmethod
1809+
def setUpClass(cls):
1810+
super(CompareTestFileVersions, cls).setUpClass()
1811+
1812+
cls.neo_versions = ['0.6.1', '0.7.2', '0.8.0', '0.9.0', '0.10.2', '0.11.1', '0.12.0']
1813+
cls.blocks = []
1814+
1815+
for filename in [f'nix/generated_file_neo{ver}.nix' for ver in cls.neo_versions]:
1816+
filename = BaseTestIO.get_local_path(filename)
1817+
# filename = '/home/sprengerj/repos/ephy_testing_data/' + filename
1818+
print(f'Loading {filename}')
1819+
1820+
io = NixIO_lazy(filename, autogenerate_stream_names=False, autogenerate_unit_ids=False)
1821+
block = io.read_block(lazy=False)
1822+
cls.blocks.append(block)
1823+
1824+
def test_compare_file_versions(self):
1825+
# assert all versions result in comparable neo structures (ideally identical)
1826+
reference_block = self.blocks[0]
1827+
for bl in self.blocks[1:]:
1828+
assert_same_sub_schema(reference_block, bl, exclude=['file_origin', 'magnitude'])
1829+
1830+
1831+
18001832
@unittest.skipUnless(HAVE_NIX, "Requires NIX")
18011833
class CommonTests(BaseTestIO, unittest.TestCase):
18021834
ioclass = NixIO

0 commit comments

Comments
 (0)