Exemplo n.º 1
0
    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"))
Exemplo n.º 2
0
    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")
Exemplo n.º 3
0
    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")