alignments package

media_test module

Unittests for the media module

Pytest unit tests for tools.alignments.media

class tests.tools.alignments.media_test.TestAlignmentData

Bases: object

Test for AlignmentData

alignments_file(tmp_path: str) Generator[str, None, None]

Fixture for creating dummy alignments files

Parameters:

tmp_path (str) – pytest temporary path to generate folders

Yields:

str – Path to a dummy alignments file

test_check_file_exists(alignments_file: str) None

Test for AlignmentData _check_file_exists method

Parameters:

alignments_file (str) – The temporarily generated alignments file

test_init(alignments_file: str, mocker: MockerFixture) None

Test for AlignmentData __init__ method

Parameters:
  • alignments_file (str) – The temporarily generated alignments file

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking the superclass __init__

test_save(alignments_file: str, mocker: MockerFixture) None

Test for :class:`~tools.alignments.media.AlignmentData`save method

Parameters:
  • alignments_file (str) – The temporarily generated alignments file

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking the superclass calls

class tests.tools.alignments.media_test.TestExtractedFaces

Bases: object

Test for ExtractedFaces

extracted_faces_fixture(mocker: MockerFixture) ExtractedFaces

An instance of ExtractedFaces patching out Frames and AlignmentData parameters

Parameters:

mocker (pytest_mock.MockerFixture) – Fixture for mocking read_image_meta_batch calls

Returns:

Initialized instance for testing

Return type:

ExtractedFaces

test_extract_one_face(extracted_faces_instance: ExtractedFaces, mocker: MockerFixture) None

Test for ExtractedFace extract_one_face method

Parameters:
  • extracted_faces_instance (ExtractedFace) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking DetectedFace object

test_get_faces(extracted_faces_instance: ExtractedFaces, mocker: MockerFixture) None

Test for ExtractedFace get_faces method

Parameters:
  • extracted_faces_instance (ExtractedFace) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking Frames and AlignmentData classes

test_get_faces_in_frame(extracted_faces_instance: ExtractedFaces, mocker: MockerFixture) None

Test for ExtractedFace get_faces_in_frame method

Parameters:
  • extracted_faces_instance (ExtractedFace) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking get_faces method

test_get_roi_size_for_frame(extracted_faces_instance: ExtractedFaces, mocker: MockerFixture, roi: ndarray, expected: int) None

Test for ExtractedFace get_roi_size_for_frame method

Parameters:
  • extracted_faces_instance (ExtractedFace) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking get_faces method and DetectedFace object

  • roi (numpy.ndarray) – Test ROI box to feed into the function

  • expected (int) – The expected output for the given ROI box

test_init(extracted_faces_instance: ExtractedFaces) None

Test for ExtractedFace __init__ method

Parameters:

extracted_faces_instance (ExtractedFace) – The class instance for testing

class tests.tools.alignments.media_test.TestFaces

Bases: object

Test for Faces

faces_fixture(folder: str, mocker: MockerFixture) Faces

An instance of Faces patching out read_image_meta_batch so nothing is loaded

Parameters:
  • folder (str) – Dummy media folder

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking read_image_meta_batch calls

Returns:

Initialized instance for testing

Return type:

Faces

test__handle_duplicate(faces_instance: Faces) None

Test for Faces _handle_duplicate method

Parameters:

faces_instance (Faces) – The class instance for testing

test__handle_legacy(faces_instance: Faces, mocker: MockerFixture, caplog: LogCaptureFixture) None

Test for Faces _handle_legacy method

Parameters:
  • faces_instance (Faces) – Test class instance

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking various objects

  • caplog (:class:`pytest.LogCaptureFixture) – For capturing logging messages

test_init(folder: str, mocker: MockerFixture) None

Test for :class:`~tools.alignments.media.Faces`__init__ method

Parameters:
  • folder (str) – Dummy media folder

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking superclass calls

test_load_items(faces_instance: Faces) None

Test for Faces load_items method

Parameters:

faces_instance (Faces) – The class instance for testing

test_process_folder(faces_instance: Faces, mocker: MockerFixture) None

Test for Faces process_folder method

Parameters:
  • faces_instance (Faces) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking various logic calls

test_sorted_items(faces_instance: Faces, mocker: MockerFixture) None

Test for Faces sorted_items method

Parameters:
  • faces_instance (Faces) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking various logic calls

class tests.tools.alignments.media_test.TestFrames

Bases: object

Test for Frames

test_load_items(folder: str) None

Test for Frames load_items method

Parameters:

folder (str) – Dummy media folder

test_process_folder(folder: str, mocker: MockerFixture) None

Test for Frames process_folder method

Parameters:
  • folder (str) – Dummy media folder

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking superclass calls

test_process_frames(folder: str) None

Test for Frames process_frames method

Parameters:

folder (str) – Dummy media folder

test_process_video(folder: str) None

Test for Frames process_video method

Parameters:

folder (str) – Dummy media folder

test_sorted_items(folder: str, mocker: MockerFixture) None

Test for Frames sorted_items method

Parameters:
  • folder (str) – Dummy media folder

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking process_folder call

class tests.tools.alignments.media_test.TestMediaLoader

Bases: object

Test for MediaLoader

media_loader_fixture(folder: str, mocker: MockerFixture) MediaLoader

An instance of MediaLoader with unimplemented child methods patched out of __init__ and initialized with a dummy folder containing 2 images

Parameters:
  • folder (str) – Dummy media folder

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking subclass calls

Returns:

Initialized instance for testing

Return type:

MediaLoader

test_check_input_folder(media_loader_instance: MediaLoader) None

Test for MediaLoader check_input_folder method

Parameters:

media_loader_instance (MediaLoader) – The class instance for testing

test_init(folder: str, mocker: MockerFixture) None

Test for :class:`~tools.alignments.media.MediaLoader`__init__ method

Parameters:
  • folder (str) – Dummy media folder

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking subclass calls

test_load_image(media_loader_instance: MediaLoader, mocker: MockerFixture) None

Test for MediaLoader load_image method

Parameters:
  • media_loader_instance (MediaLoader) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking loader specific calls

test_load_video_frame(media_loader_instance: MediaLoader, mocker: MockerFixture) None

Test for MediaLoader load_video_frame method

Parameters:
  • media_loader_instance (MediaLoader) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking cv2 calls

test_save_image(media_loader_instance: MediaLoader, mocker: MockerFixture) None

Test for MediaLoader save_image method

Parameters:
  • media_loader_instance (MediaLoader) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking saver specific calls

test_stream(media_loader_instance: MediaLoader, mocker: MockerFixture) None

Test for MediaLoader stream method

Parameters:
  • media_loader_instance (MediaLoader) – The class instance for testing

  • mocker (pytest_mock.MockerFixture) – Fixture for mocking loader specific calls

test_valid_extension(media_loader_instance: MediaLoader) None

Test for MediaLoader valid_extension method

Parameters:

media_loader_instance (MediaLoader) – The class instance for testing

tests.tools.alignments.media_test.folder_fixture(tmp_path: str) Generator[str, None, None]

Fixture for creating dummy folders

Parameters:

tmp_path (str) – pytest temporary path to generate folders

Yields:

str – Path to a dummy folder