コード例 #1
0
ファイル: injector_test.py プロジェクト: jstasiak/injector
def test_binder_provider_for_type_with_metaclass():
    # use a metaclass cross python2/3 way
    # otherwise should be:
    # class A(object, metaclass=abc.ABCMeta):
    #    passa
    A = abc.ABCMeta('A', (object, ), {})

    binder = Injector().binder
    assert (isinstance(binder.provider_for(A, None).get(), A))
コード例 #2
0
ファイル: injector_test.py プロジェクト: ahaskell/injector
def test_binder_provider_for_type_with_metaclass():
    # use a metaclass cross python2/3 way
    # otherwise should be:
    # class A(object, metaclass=abc.ABCMeta):
    #    passa
    A = abc.ABCMeta('A', (object, ), {})

    binder = Injector().binder
    assert (isinstance(binder.provider_for(A, None).get(), A))
コード例 #3
0
ファイル: injector_test.py プロジェクト: jstasiak/injector
def test_binder_provider_for_method_with_class_to_specific_subclass():
    class A(object):
        pass

    class B(A):
        pass

    binder = Injector().binder
    provider = binder.provider_for(A, B)
    assert (type(provider) is ClassProvider)
    assert (isinstance(provider.get(), B))
コード例 #4
0
ファイル: injector_test.py プロジェクト: ahaskell/injector
def test_binder_provider_for_method_with_class_to_specific_subclass():
    class A(object):
        pass

    class B(A):
        pass

    binder = Injector().binder
    provider = binder.provider_for(A, B)
    assert (type(provider) is ClassProvider)
    assert (isinstance(provider.get(), B))
コード例 #5
0
ファイル: injector_test.py プロジェクト: jstasiak/injector
def test_binder_provider_for_method_with_class():
    binder = Injector().binder
    provider = binder.provider_for(int)
    assert (type(provider) is ClassProvider)
    assert (provider.get() == 0)
コード例 #6
0
ファイル: injector_test.py プロジェクト: jstasiak/injector
def test_binder_provider_for_method_with_instance():
    binder = Injector().binder
    provider = binder.provider_for(int, to=1)
    assert (type(provider) is InstanceProvider)
    assert (provider.get() == 1)
コード例 #7
0
ファイル: injector_test.py プロジェクト: ahaskell/injector
def test_binder_provider_for_method_with_class():
    binder = Injector().binder
    provider = binder.provider_for(int)
    assert (type(provider) is ClassProvider)
    assert (provider.get() == 0)
コード例 #8
0
ファイル: injector_test.py プロジェクト: ahaskell/injector
def test_binder_provider_for_method_with_instance():
    binder = Injector().binder
    provider = binder.provider_for(int, to=1)
    assert (type(provider) is InstanceProvider)
    assert (provider.get() == 1)
コード例 #9
0
ファイル: injector_test.py プロジェクト: didrocks/injector
def test_binder_provider_for_type_with_metaclass():
    class A(object):
        __metaclass__ = abc.ABCMeta

    binder = Injector().binder
    assert isinstance(binder.provider_for(A, None).get(), A)
コード例 #10
0
ファイル: injector_test.py プロジェクト: didrocks/injector
def test_binder_provider_for_method_with_explicit_provider():
    binder = Injector().binder
    provider = binder.provider_for(int, to=InstanceProvider(1))
    assert type(provider) is InstanceProvider
    assert provider.get() == 1