diff options
Diffstat (limited to 'src/argaze.test')
-rw-r--r-- | src/argaze.test/ArUcoMarkers/ArUcoBoard.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/argaze.test/ArUcoMarkers/ArUcoBoard.py b/src/argaze.test/ArUcoMarkers/ArUcoBoard.py new file mode 100644 index 0000000..5ca1324 --- /dev/null +++ b/src/argaze.test/ArUcoMarkers/ArUcoBoard.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +import unittest +import os + +from argaze.ArUcoMarkers import ArUcoBoard, ArUcoMarkersDictionary + +import numpy + +class TestArUcoBoardClass(unittest.TestCase): + """Test ArUcoBoard class.""" + + def test_new_from_dictionary_string(self): + """Test ArUcoBoard creation using a dictionary string.""" + + # Check ArUco board creation + columns = 4 + rows = 3 + square_size = 2 + marker_size = 1 + + aruco_board = ArUcoBoard.ArUcoBoard('DICT_ARUCO_ORIGINAL', columns, rows, square_size, marker_size) + + # Check ArUco board + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.identifiers, [i for i in range(int((columns*rows)/2))])) + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.size, [columns, rows])) + self.assertEqual(aruco_board.markers_number, int((columns*rows)/2)) + self.assertEqual(aruco_board.corners_number, (columns-1)*(rows-1)) + + def test_new_from_dictionary_instance(self): + """Test ArUcoBoard creation using a dictionary instance.""" + + # Check ArUco board creation + columns = 4 + rows = 3 + square_size = 2 + marker_size = 1 + + aruco_dictionary = ArUcoMarkersDictionary.ArUcoMarkersDictionary('DICT_ARUCO_ORIGINAL') + aruco_board = ArUcoBoard.ArUcoBoard(aruco_dictionary, columns, rows, square_size, marker_size) + + # Check ArUco board + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.identifiers, [i for i in range(int((columns*rows)/2))])) + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.size, [columns, rows])) + self.assertEqual(aruco_board.markers_number, int((columns*rows)/2)) + self.assertEqual(aruco_board.corners_number, (columns-1)*(rows-1)) + +if __name__ == '__main__': + + unittest.main()
\ No newline at end of file |