コード例 #1
0
    def test_nested_container(self):
        injector = Injector(a='A', b='A')
        sub = Injector(injector, b='B')
        subsub = sub.sub(c='C')

        self.assertEqual(subsub.call(lambda a, b, c: a + b + c), 'ABC')
        self.assertEqual(subsub.create(lambda a, b, c: a + b + c), 'ABC')
コード例 #2
0
ファイル: injector_test.py プロジェクト: delvelabs/easyinject
    def test_nested_container(self):
        injector = Injector(a='A', b='A')
        sub = Injector(injector, b='B')
        subsub = sub.sub(c='C')

        self.assertEqual(subsub.call(lambda a, b, c: a + b + c), 'ABC')
        self.assertEqual(subsub.create(lambda a, b, c: a + b + c), 'ABC')
コード例 #3
0
 def test_close_only_called_once(self):
     injector = Injector(a=lambda: self.closer('A'))
     sub = injector.sub(b=lambda: self.closer('B'))
     sub.b
     injector.a
     sub.close()
     injector.close()
     self.assertEqual(['B', 'A'], self.call_list)
コード例 #4
0
    def test_close_limited_to_scope(self):
        injector = Injector(a=lambda: self.closer('A'))
        sub = injector.sub(b=lambda: self.closer('B'))
        sub.b
        injector.a
        sub.close()

        self.assertEqual(['B'], self.call_list)
コード例 #5
0
    def test_close_shared_among_subinjectors(self):
        injector = Injector(a=lambda: self.closer('A'))
        sub = injector.sub(b=lambda: self.closer('B'))
        sub.b
        injector.a
        injector.close()

        self.assertEqual(['B', 'A'], self.call_list)
コード例 #6
0
ファイル: injector_test.py プロジェクト: delvelabs/easyinject
 def test_close_only_called_once(self):
     injector = Injector(a=lambda: self.closer('A'))
     sub = injector.sub(b=lambda: self.closer('B'))
     sub.b
     injector.a
     sub.close()
     injector.close()
     self.assertEqual(['B', 'A'], self.call_list)
コード例 #7
0
ファイル: injector_test.py プロジェクト: delvelabs/easyinject
    def test_close_limited_to_scope(self):
        injector = Injector(a=lambda: self.closer('A'))
        sub = injector.sub(b=lambda: self.closer('B'))
        sub.b
        injector.a
        sub.close()

        self.assertEqual(['B'], self.call_list)
コード例 #8
0
ファイル: injector_test.py プロジェクト: delvelabs/easyinject
    def test_close_shared_among_subinjectors(self):
        injector = Injector(a=lambda: self.closer('A'))
        sub = injector.sub(b=lambda: self.closer('B'))
        sub.b
        injector.a
        injector.close()

        self.assertEqual(['B', 'A'], self.call_list)
コード例 #9
0
    def test_clear_subinjectors_on_close(self):
        injector = Injector(a=lambda: self.closer('A'))
        sub = injector.sub(b=lambda: self.closer('B'))
        sub.b
        injector.a
        self.assertEqual(1, injector.child_count)

        del sub

        self.assertEqual(0, injector.child_count)
コード例 #10
0
ファイル: injector_test.py プロジェクト: delvelabs/easyinject
    def test_clear_subinjectors_on_close(self):
        injector = Injector(a=lambda: self.closer('A'))
        sub = injector.sub(b=lambda: self.closer('B'))
        sub.b
        injector.a
        self.assertEqual(1, injector.child_count)

        del sub

        self.assertEqual(0, injector.child_count)