You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.5 KiB

8 years ago
  1. import unittest
  2. from os import path
  3. import numpy as np
  4. from nd2reader.artificial import ArtificialND2
  5. from nd2reader.parser import Parser
  6. from nd2reader.reader import ND2Reader
  7. class TestReader(unittest.TestCase):
  8. def create_test_nd2(self):
  9. with ArtificialND2(self.test_file) as artificial:
  10. artificial.close()
  11. def setUp(self):
  12. dir_path = path.dirname(path.realpath(__file__))
  13. self.test_file = path.join(dir_path, 'test_data/test.nd2')
  14. def test_can_open_test_file(self):
  15. self.create_test_nd2()
  16. with ND2Reader(self.test_file) as reader:
  17. self.assertEqual(reader.filename, self.test_file)
  18. self.assertEqual(reader.pixel_type, np.float64)
  19. self.assertEqual(reader.sizes['x'], 0)
  20. self.assertEqual(reader.sizes['y'], 0)
  21. self.assertEqual(reader.sizes['z'], 1)
  22. self.assertEqual(reader.sizes['c'], 0)
  23. self.assertEqual(reader.sizes['t'], 1)
  24. def test_extension(self):
  25. self.assertTrue('nd2' in ND2Reader.class_exts())
  26. def test_get_metadata_property(self):
  27. self.create_test_nd2()
  28. with ND2Reader(self.test_file) as reader:
  29. self.assertIsNone(reader._get_metadata_property('kljdf'))
  30. self.assertEqual(reader._get_metadata_property('kljdf', 'default'), 'default')
  31. def test_get_parser(self):
  32. self.create_test_nd2()
  33. with ND2Reader(self.test_file) as reader:
  34. self.assertTrue(type(reader.parser) is Parser)