diff --git a/tests/__init__.py b/tests/__init__.py index 531c513..a20d35a 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -17,3 +17,67 @@ class TestNd2Parser(unittest.TestCase): result = Nd2Parser._calculate_field_of_view(nd2, frame_number) self.assertEqual(result, 0) + def test_calculate_field_of_view_two_channels(self): + nd2 = MockNd2Parser(['', 'GFP'], [0], [0]) + for frame_number in range(1000): + result = Nd2Parser._calculate_field_of_view(nd2, frame_number) + self.assertEqual(result, 0) + + def test_calculate_field_of_view_three_channels(self): + nd2 = MockNd2Parser(['', 'GFP', 'dsRed'], [0], [0]) + for frame_number in range(1000): + result = Nd2Parser._calculate_field_of_view(nd2, frame_number) + self.assertEqual(result, 0) + + def test_calculate_field_of_view_two_fovs(self): + nd2 = MockNd2Parser([''], [0, 1], [0]) + for frame_number in range(1000): + result = Nd2Parser._calculate_field_of_view(nd2, frame_number) + self.assertEqual(result, frame_number % 2) + + def test_calculate_field_of_view_two_fovs_two_zlevels(self): + nd2 = MockNd2Parser([''], [0, 1], [0, 1]) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 0), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 1), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 2), 1) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 3), 1) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 4), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 5), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 6), 1) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 7), 1) + + def test_calculate_field_of_view_two_everything(self): + nd2 = MockNd2Parser(['', 'GFP'], [0, 1], [0, 1]) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 0), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 1), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 2), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 3), 0) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 4), 1) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 5), 1) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 6), 1) + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, 7), 1) + + def test_calculate_field_of_view_7c2f2z(self): + nd2 = MockNd2Parser(['', 'GFP', 'dsRed', 'dTomato', 'lulzBlue', 'jimbotronPurple', 'orange'], [0, 1], [0, 1]) + for i in range(14): + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, i), 0) + for i in range(14, 28): + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, i), 1) + for i in range(28, 42): + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, i), 0) + for i in range(42, 56): + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, i), 1) + for i in range(56, 70): + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, i), 0) + for i in range(70, 84): + self.assertEqual(Nd2Parser._calculate_field_of_view(nd2, i), 1) + + def test_calculate_channel_simple(self): + + + + + + + +