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