def test_instantiate(self): @method_takes("desc", StringMeta("description"), REQUIRED, "foo", StringMeta("optional thing"), "thing") def f(extra, params): return extra, 2, params.desc, params.foo ca = Mock(CAPart=f) parts = Mock(ca=ca) section = Section("ca.CAPart", dict(desc="my name")) result = section.instantiate({}, parts, "extra") self.assertEqual(result, ("extra", 2, "my name", "thing"))
def test_instantiate(self, mock_import): @add_call_types def f(desc: ADesc, foo: AThing = "thing") -> Any: return 2, desc, foo mock_import.return_value = Mock(MyPart=f) section = Section("f", 1, "mymodule.parts.MyPart", dict(desc="my name")) result = section.instantiate({}) mock_import.assert_called_once_with("malcolm.modules.mymodule.parts") assert result == (2, "my name", "thing")
def test_instantiate(self, mock_import): @method_takes("desc", StringMeta("description"), REQUIRED, "foo", StringMeta("optional thing"), "thing") def f(extra, params): return extra, 2, params.desc, params.foo mock_import.return_value = Mock(MyPart=f) section = Section("f", 1, "mymodule.parts.MyPart", dict(desc="my name")) result = section.instantiate({}, "extra") mock_import.assert_called_once_with("malcolm.modules.mymodule.parts") assert result == ("extra", 2, "my name", "thing")