|
30 | 30 | IrregularlySampledSignal, SpikeTrain,
|
31 | 31 | Event, Epoch, ImageSequence, Group, ChannelView)
|
32 | 32 | from neo.test.iotest.common_io_test import BaseTestIO
|
| 33 | +from neo.test.tools import assert_same_sub_schema |
33 | 34 | from neo.io.nixio import (NixIO, create_quantity, units_to_string, neover,
|
34 | 35 | dt_from_nix, dt_to_nix, DATETIMEANNOTATION)
|
35 | 36 | from neo.io.nixio_fr import NixIO as NixIO_lazy
|
@@ -1797,6 +1798,37 @@ def test_file_with_ver(self):
|
1797 | 1798 | self.assertEqual(iofile._file_version, neover)
|
1798 | 1799 |
|
1799 | 1800 |
|
| 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 | + |
1800 | 1832 | @unittest.skipUnless(HAVE_NIX, "Requires NIX")
|
1801 | 1833 | class CommonTests(BaseTestIO, unittest.TestCase):
|
1802 | 1834 | ioclass = NixIO
|
|
0 commit comments