"""Mocking a local function in doctest, by Cees Timmerman 2025-03-22."""
import sys
from typing import Callable
def get_input( ) -> str :
return input ( )
def way_a( x: Callable[ [ ] , str ] = get_input) -> None :
"""
>>> way_a(lambda: "42")
42
"""
print ( x( ) )
def way_b( ) -> None :
"""
>>> way_b()
42
"""
if "doctest.py" in str ( sys .modules [ "__main__" ] .__file__) :
get_input: Callable[ [ ] , str ] = lambda : "42"
print ( get_input( ) )
if __name__ == "__main__" :
way_a( )
way_b( )
IiIiTW9ja2luZyBhIGxvY2FsIGZ1bmN0aW9uIGluIGRvY3Rlc3QsIGJ5IENlZXMgVGltbWVybWFuIDIwMjUtMDMtMjIuIiIiCgppbXBvcnQgc3lzCmZyb20gdHlwaW5nIGltcG9ydCBDYWxsYWJsZQoKCmRlZiBnZXRfaW5wdXQoKSAtPiBzdHI6CiAgICByZXR1cm4gaW5wdXQoKQoKCmRlZiB3YXlfYSh4OiBDYWxsYWJsZVtbXSwgc3RyXSA9IGdldF9pbnB1dCkgLT4gTm9uZToKICAgICIiIgogICAgPj4+IHdheV9hKGxhbWJkYTogIjQyIikKICAgIDQyCiAgICAiIiIKICAgIHByaW50KHgoKSkKCgpkZWYgd2F5X2IoKSAtPiBOb25lOgogICAgIiIiCiAgICA+Pj4gd2F5X2IoKQogICAgNDIKICAgICIiIgogICAgaWYgImRvY3Rlc3QucHkiIGluIHN0cihzeXMubW9kdWxlc1siX19tYWluX18iXS5fX2ZpbGVfXyk6CiAgICAgICAgZ2V0X2lucHV0OiBDYWxsYWJsZVtbXSwgc3RyXSA9IGxhbWJkYTogIjQyIgogICAgcHJpbnQoZ2V0X2lucHV0KCkpCgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIHdheV9hKCkKICAgIHdheV9iKCk=