#!/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(self): """Test ArUcoBoard creation using a dictionary instance.""" columns = 4 rows = 3 square_size = 2 marker_size = 1 # Check ArUco board creation aruco_dictionary = ArUcoMarkersDictionary.ArUcoMarkersDictionary('DICT_APRILTAG_16h5') aruco_board = ArUcoBoard.ArUcoBoard(columns, rows, square_size, marker_size, aruco_dictionary) # Check ArUco board dictionary name self.assertEqual(aruco_board.dictionary.name, 'DICT_APRILTAG_16h5') 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()