Source code for tests.test_axis

#!/usr/bin/env python3

import unittest
import numpy as np
import logging

# from .context import imagedata
from src.imagedata.axis import UniformAxis, UniformLengthAxis, VariableAxis


[docs] class TestAxis(unittest.TestCase): # @unittest.skip("skipping test_uniform_axis")
[docs] def test_uniform_axis(self): axis = UniformAxis('space', 1, 21, 2) # axis has values: 1 3 5 7 9 11 13 15 17 19 logging.debug('test_uniform_axis: {}'.format(axis.slice)) all_axis = axis[:] self.assertEqual((1, 21, 2), all_axis.slice) self.assertEqual(10, len(all_axis)) logging.debug('test_uniform_axis: all_axis: %s' % all_axis.name) logging.debug('test_uniform_axis: start,stop,step: %d,%d,%d' % (all_axis.start, all_axis.stop, all_axis.step)) new_axis = axis[2:] self.assertEqual((5, 21, 2), new_axis.slice) self.assertEqual(8, len(new_axis)) logging.debug('test_uniform_axis: new_axis: %s' % new_axis.name) logging.debug('test_uniform_axis: start,stop,step: %d,%d,%d' % (new_axis.start, new_axis.stop, new_axis.step)) stride_axis = axis[2:6:2] self.assertEqual((5, 13, 4), stride_axis.slice) self.assertEqual(2, len(stride_axis))
# @unittest.skip("skipping test_uniform_length_axis")
[docs] def test_uniform_length_axis(self): axis = UniformLengthAxis('x', 0.1, 10) # axis has values: 0.1 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 logging.debug('test_uniform_length_axis: {}'.format(axis.slice)) all_axis = axis[:] self.assertEqual((0.1, 10.1, 1), all_axis.slice) self.assertEqual(10, len(all_axis)) new_axis = axis[2:5] # new_axis has values: 2.1 3.1 4.1 self.assertEqual((2.1, 5.1, 1), new_axis.slice) axis = UniformLengthAxis('y', 0, 128) # axis has values: 0..127 self.assertEqual((0, 128, 1), axis.slice) self.assertEqual(len(axis), 128)
# @unittest.skip("skipping test_uniform_length_axis_step2")
[docs] def test_uniform_length_axis_step2(self): axis = UniformLengthAxis('x', 1, 10, 2) # axis has values: 1 3 5 7 9 11 13 15 17 19 logging.debug('test_uniform_length_axis: {}'.format(axis.slice)) all_axis = axis[:] self.assertEqual(len(all_axis), 10) stride_axis = axis[2:6:2] # stride_axis has values: 5 9 self.assertEqual((5, 13, 4), stride_axis.slice) self.assertEqual(2, len(stride_axis))
# @unittest.skip("skipping test_variable_axis")
[docs] def test_variable_axis(self): axis = VariableAxis('b', [50, 400, 800]) # axis has values: 50 400 800 high_b = axis[1:] # high_b has values: 400 800 np.testing.assert_array_equal(high_b.values, np.array([400, 800])) self.assertEqual(len(high_b), 2)
# @unittest.skip("skipping test_variable_axis2")
[docs] def test_variable_axis2(self): axis = VariableAxis('b', [0, 10, 20, 30, 50, 100, 200, 400, 700, 1000]) # axis has values: 0 10 20 30 50 100 200 400 700 1000 low_b = axis[1:5] # low_b has values: 10 20 30 50 np.testing.assert_array_equal(low_b.values, np.array([10, 20, 30, 50])) stride_b = axis[1:8:2] # stride_b has values: 10 30 100 400 np.testing.assert_array_equal(stride_b.values, np.array([10, 30, 100, 400]))
# @unittest.skip("skipping test_variable_axis_rgb")
[docs] def test_variable_axis_rgb(self): axis = VariableAxis('color', ['R', 'G', 'B']) np.testing.assert_array_equal(axis.values, np.array(['R', 'G', 'B'])) self.assertEqual(axis.values[0], 'R') self.assertEqual(axis.values[1], 'G') self.assertEqual(axis.values[2], 'B')
if __name__ == '__main__': unittest.main()