コード例 #1
0
class DTypeResolverTest(unittest.TestCase):
    def setUp(self):
        self.__typeResolver = DTypeResolver()

    def test_basic(self):
        result = self.__typeResolver.resolve(
            'injecta.parameter.ParametersParser')

        self.assertEqual(
            DType('injecta.parameter.ParametersParser', 'ParametersParser'),
            result)

    def test_classic(self):
        result = self.__typeResolver.resolve('importlib.util.LazyLoader')

        self.assertEqual(DType('importlib.util', 'LazyLoader'), result)
コード例 #2
0
class ValueResolverFactory:
    def __init__(self):
        self.__d_type_resolver = DTypeResolver()

    def create(self, val) -> ValueResolverInterface:
        resolver_type = self.__d_type_resolver.resolve(val["resolver_class"])
        resolver_class = attribute_loader.load(resolver_type.module_name,
                                               resolver_type.class_name)
        resolver_arguments = val[
            "resolver_arguments"] if "resolver_arguments" in val else []

        return resolver_class(*resolver_arguments)