Skip to content

Commit b125d93

Browse files
Merge pull request #11 from VH-Lab/refactor-tests-structure-1426338253063092469
Make nditests package discoverable
2 parents 72c974f + 5290933 commit b125d93

13 files changed

Lines changed: 885 additions & 0 deletions

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,6 @@ dependencies = [
3232

3333
[tool.hatch.metadata]
3434
allow-direct-references = true
35+
36+
[tool.hatch.build.targets.wheel]
37+
packages = ["src/ndi", "tests/nditests"]

tests/nditests/unittest/ndimatlabport/README.md

Lines changed: 607 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import unittest
2+
from ndi.dataset import Dataset
3+
from ndi.session.dir import Dir as SessionDir
4+
import tempfile
5+
import shutil
6+
7+
class TestBuildDataset(unittest.TestCase):
8+
def setUp(self):
9+
self.temp_dir = tempfile.mkdtemp()
10+
self.session_name = 'mysession'
11+
self.session = SessionDir(self.session_name, self.temp_dir)
12+
self.dataset_id = 'test_dataset_id'
13+
self.dataset_name = 'test_dataset'
14+
15+
def tearDown(self):
16+
shutil.rmtree(self.temp_dir)
17+
18+
def test_build_dataset(self):
19+
"""
20+
Tests the dataset build process, mimicking ndi.unittest.dataset.buildDataset.
21+
"""
22+
ds = Dataset(self.dataset_name)
23+
self.assertIsInstance(ds, Dataset)
24+
self.assertEqual(ds.reference(), self.dataset_name)
25+
26+
if __name__ == '__main__':
27+
unittest.main()
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import unittest
2+
from ndi.dataset import Dataset
3+
import tempfile
4+
import shutil
5+
6+
class TestDatasetConstructor(unittest.TestCase):
7+
def setUp(self):
8+
self.temp_dir = tempfile.mkdtemp()
9+
10+
def tearDown(self):
11+
shutil.rmtree(self.temp_dir)
12+
13+
def test_dataset_constructor(self):
14+
"""
15+
Port of ndi.unittest.dataset.testDatasetConstructor.
16+
"""
17+
ds = Dataset('ds_constructor_ref')
18+
self.assertIsNotNone(ds)
19+
self.assertEqual(ds.reference(), 'ds_constructor_ref')
20+
21+
if __name__ == '__main__':
22+
unittest.main()
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
from ndi.dataset import Dataset
3+
import tempfile
4+
import shutil
5+
6+
class TestDeleteIngestedSession(unittest.TestCase):
7+
def setUp(self):
8+
self.temp_dir = tempfile.mkdtemp()
9+
10+
def tearDown(self):
11+
shutil.rmtree(self.temp_dir)
12+
13+
def test_delete_ingested_session(self):
14+
"""
15+
Port of ndi.unittest.dataset.testDeleteIngestedSession.
16+
"""
17+
ds = Dataset('ds_ingest_test')
18+
# Logic to ingest and then delete a session would go here
19+
# Currently asserting True as placeholder
20+
self.assertTrue(True)
21+
22+
if __name__ == '__main__':
23+
unittest.main()
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import unittest
2+
from ndi.dataset import Dataset
3+
import tempfile
4+
import shutil
5+
6+
class TestOldDatasetTest(unittest.TestCase):
7+
def setUp(self):
8+
self.temp_dir = tempfile.mkdtemp()
9+
10+
def tearDown(self):
11+
shutil.rmtree(self.temp_dir)
12+
13+
def test_old_dataset_test(self):
14+
"""
15+
Port of ndi.unittest.dataset.OldDatasetTest.
16+
"""
17+
# Placeholder logic for an "OldDatasetTest"
18+
ds = Dataset('old_ds_ref')
19+
self.assertIsInstance(ds, Dataset)
20+
21+
if __name__ == '__main__':
22+
unittest.main()
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import unittest
2+
from ndi.dataset import Dataset
3+
import tempfile
4+
import shutil
5+
6+
class TestSessionList(unittest.TestCase):
7+
def setUp(self):
8+
self.temp_dir = tempfile.mkdtemp()
9+
10+
def tearDown(self):
11+
shutil.rmtree(self.temp_dir)
12+
13+
def test_session_list(self):
14+
"""
15+
Port of ndi.unittest.dataset.testSessionList.
16+
"""
17+
ds = Dataset('ds_list_test')
18+
with self.assertRaises(NotImplementedError):
19+
ds.session_list()
20+
21+
if __name__ == '__main__':
22+
unittest.main()
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
from ndi.dataset import Dataset
3+
import tempfile
4+
import shutil
5+
6+
class TestUnlinkSession(unittest.TestCase):
7+
def setUp(self):
8+
self.temp_dir = tempfile.mkdtemp()
9+
10+
def tearDown(self):
11+
shutil.rmtree(self.temp_dir)
12+
13+
def test_unlink_session(self):
14+
"""
15+
Port of ndi.unittest.dataset.testUnlinkSession.
16+
"""
17+
ds = Dataset('ds_unlink_test')
18+
# Logic to link and then unlink a session would go here
19+
# Currently asserting True as placeholder
20+
self.assertTrue(True)
21+
22+
if __name__ == '__main__':
23+
unittest.main()
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import unittest
2+
from ndi.session.dir import Dir as SessionDir
3+
import tempfile
4+
import shutil
5+
import os
6+
7+
class TestBuildSession(unittest.TestCase):
8+
def setUp(self):
9+
self.temp_dir = tempfile.mkdtemp()
10+
self.session_name = 'test_session_build'
11+
os.makedirs(os.path.join(self.temp_dir, self.session_name))
12+
13+
def tearDown(self):
14+
shutil.rmtree(self.temp_dir)
15+
16+
def test_build_session(self):
17+
"""
18+
Port of ndi.unittest.session.buildSession.
19+
"""
20+
session = SessionDir(self.session_name, os.path.join(self.temp_dir, self.session_name))
21+
self.assertIsInstance(session, SessionDir)
22+
# Session ID is generated by IDO and won't match the name directly
23+
self.assertIsNotNone(session.id())
24+
self.assertIsInstance(session.id(), str)
25+
# Verify reference matches input
26+
self.assertEqual(session.reference, self.session_name)
27+
28+
if __name__ == '__main__':
29+
unittest.main()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import unittest
2+
from ndi.session.dir import Dir as SessionDir
3+
import tempfile
4+
import shutil
5+
import os
6+
7+
class TestBuildSessionNDRAxon(unittest.TestCase):
8+
def setUp(self):
9+
self.temp_dir = tempfile.mkdtemp()
10+
self.session_name = 'axon_session'
11+
os.makedirs(os.path.join(self.temp_dir, self.session_name))
12+
13+
def tearDown(self):
14+
shutil.rmtree(self.temp_dir)
15+
16+
def test_build_session_ndr_axon(self):
17+
"""
18+
Port of ndi.unittest.session.buildSessionNDRAxon.
19+
"""
20+
# Logic to build a session specific to NDR Axon data
21+
# Assuming for now it behaves like a normal session but would load specific files
22+
session = SessionDir(self.session_name, os.path.join(self.temp_dir, self.session_name))
23+
self.assertIsInstance(session, SessionDir)
24+
25+
if __name__ == '__main__':
26+
unittest.main()

0 commit comments

Comments
 (0)