def test_add_function_name_override(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") r.add(foo, name="bar") assert "bar" in r._factories # noqa: WPS437
def test_add_lambda_override(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") r.add(lambda x: x, name="bar") assert "bar" in r._factories # noqa: WPS437
def test_kwargs(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") r.add(bar=foo) r.get("bar")
def test_fail_instantiation(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") r.add(foo) with pytest.raises(RegistryException) as e_ifo: r.get_instance("foo", c=1) assert hasattr(e_ifo.value, "__cause__")
def test_fail_double_add_different(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") r.add(foo) with pytest.raises(RegistryException): def bar(): pass r.add(foo=bar)
def _experiments_loader(r: Registry): from catalyst.core import IExperiment, IStageBasedRunner r.add(IExperiment) r.add(IStageBasedRunner) from catalyst.dl import experiment as m # noqa: WPS347 r.add_from_module(m) from catalyst.contrib.dl import experiment as m # noqa: WPS347 r.add_from_module(m)
def test_meta_factory(): """@TODO: Docs. Contribution is welcome.""" # noqa: D202 def meta_factory1(fn, args, kwargs): return fn def meta_factory2(fn, args, kwargs): return 1 r = Registry("obj", meta_factory1) r.add(foo) res = r.get_from_params(**{"obj": "foo"}) assert res == foo res = r.get_from_params(**{"obj": "foo"}, meta_factory=meta_factory2) assert res == 1
def test_fail_multiple_with_name(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") with pytest.raises(RegistryException): r.add(foo, foo, name="bar")
def test_add_lambda_fail(): """@TODO: Docs. Contribution is welcome.""" r = Registry("") with pytest.raises(RegistryException): r.add(lambda x: x)