Comprehensive Testing

MarkDiffusion provides a complete testing suite that covers all functionality in the repository. This comprehensive test module is located in the test/ directory.

Test Coverage Statistics

  • Total Test Cases: 672 unit tests

  • Code Coverage: 94.73%

  • Coverage Scope: Nearly all functional modules

  • Uncovered Code: Primarily exception handling and edge case logic

The test suite is designed to ensure the reliability and correctness of all components in the MarkDiffusion toolkit.

Test Structure

The test suite is organized into several test files:

test_watermark_algorithms.py

Tests for initialization, generation, detection, inversion, and visualization of all watermark algorithms.

test_pipelines.py

Tests for evaluation pipelines including detection and quality analysis.

test_dataset.py

Tests for dataset classes (StableDiffusionPromptsDataset, MSCOCODataset, VBenchDataset).

test_utils.py

Tests for utility functions used throughout the toolkit.

test_exceptions.py

Tests for custom exception classes.

test_image_editor.py

Tests for image editing modules (rotation, cropping, noise, etc.).

test_video_editor.py

Tests for video editing modules.

test_edge_cases.py

Tests for some edge cases.

Running the Tests

Note

For detailed instructions on running tests, including specific test commands, markers, and advanced usage options, please refer to the test/README.md file in the repository.

This document provides only a high-level overview of the testing system.

Quick Start

Install test dependencies and run the complete test suite:

pip install -r test/requirements-test.txt
pytest test -v --cov=. --cov-report=html --cov-report=term-missing --html=report.html

For more detailed information about running tests, please refer to the test/README.md file in the repository.