valid8r.testing.mock_input

Utilities for mocking user input during tests.

Functions

MockInputContext([inputs])

Context manager for mocking user input.

configure_mock_input(inputs)

Configure input to be mocked globally.

Module Contents

valid8r.testing.mock_input.MockInputContext(inputs=None)[source]

Context manager for mocking user input.

Parameters:

inputs (list[str] | None) – A list of strings to be returned sequentially by input().

Yields:

None

Return type:

collections.abc.Iterator[None]

Examples

>>> with MockInputContext(["yes", "42"]):
...     answer = input("Continue? ")  # returns "yes"
...     number = input("Enter number: ")  # returns "42"
valid8r.testing.mock_input.configure_mock_input(inputs)[source]

Configure input to be mocked globally.

Unlike MockInputContext, this function replaces the input function globally without restoring it automatically. Use for simple tests where cleanup isn’t critical.

Parameters:

inputs (list[str]) – A list of strings to be returned sequentially by input().

Return type:

None

Examples

>>> configure_mock_input(["yes", "42"])
>>> answer = input("Continue? ")  # returns "yes"
>>> number = input("Enter number: ")  # returns "42"