Usage
During testing, you may want to mock a certain dataset (or other Evaluatable) to known value.
This can be done using the labrea_test.Mock context manager, which ensures that at the end
of the block, any mocking is torn down.
import labrea_test
from labrea import dataset
@dataset
def foo() -> str:
return "foo"
def test_foo():
with labrea_test.Mock() as mock:
mock(foo, "bar")
assert foo() == "bar"
assert foo() == "foo"
Mock can be used to mock any Evaluatable object, and can take a plain value or another
Evaluatable object as the value to mock to.
import labrea_test
from labrea import dataset
@dataset
def foo() -> str:
return "foo"
@dataset
def bar() -> str:
return "bar"
def test_foo():
with labrea_test.Mock() as mock:
mock(foo, bar)
assert foo() == "bar"
assert foo() == "foo"