#!/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()