TestRegistry

Test case registry for discovering and managing test cases.

Test cases are registered via the @register_test decorator or by calling TestRegistry.register() directly.

Classes

class TestRegistry

Registry of available test cases.

Test cases register themselves using the @register_test decorator or by calling TestRegistry.register() directly.

Example:

@register_test(category=”algorithm”) class TestAlgorithmWatershed(TestCase):

name = “algorithm_watershed” description = “Test watershed algorithm” …

# Or manually: TestRegistry.register(TestAlgorithmWatershed)

Methods:

register()

Register a test case class.

unregister()

Unregister a test case by name.

get()

Get a test case by name.

list_tests()

List all registered test cases.

list_categories()

List all unique categories.

clear()

Clear all registered tests. Mainly for testing.

Functions

register()

Register a test case class.

Args:

test_cls: TestCase subclass to register. category: Optional category override.

unregister()

Unregister a test case by name.

Args:

name: Name of test to unregister.

Returns:

True if test was found and removed.

get()

Get a test case by name.

Args:

name: Name of test to get.

Returns:

TestCaseInfo or None if not found.

list_tests()

List all registered test cases.

Args:

category: Optional category filter.

Returns:

List of TestCaseInfo objects.

list_categories()

List all unique categories.

Returns:

Sorted list of category names.

clear()

Clear all registered tests. Mainly for testing.

register_test()

Decorator to register a test case class.

Usage:

@register_test(category=”algorithm”) class TestAlgorithmWatershed(TestCase):

name = “algorithm_watershed” description = “Test watershed algorithm” …

Args:

category: Test category for filtering.

Returns:

Class decorator that registers the test.

decorator()