diff --git a/tests/ZM/Container/ContainerTest.php b/tests/ZM/Container/ContainerTest.php index 09951178..4029374a 100644 --- a/tests/ZM/Container/ContainerTest.php +++ b/tests/ZM/Container/ContainerTest.php @@ -13,12 +13,12 @@ use ZM\Container\WorkerContainer; */ class ContainerTest extends TestCase { - public function testInherit(): void + public function testCanInheritParentBinding(): void { $worker_container = new WorkerContainer(); $worker_container->instance('foo', 'bar'); - $container = new Container($worker_container); + $container = new Container(); $container->instance('baz', 'qux'); // 获取父容器的实例 @@ -27,4 +27,26 @@ class ContainerTest extends TestCase // 获取自身容器的实例 $this->assertEquals('qux', $container->get('baz')); } + + public function testCanOverrideParentBinding(): void + { + $worker_container = new WorkerContainer(); + $worker_container->instance('foo', 'bar'); + + $container = new Container(); + $container->instance('foo', 'qux'); + + $this->assertEquals('qux', $container->get('foo')); + } + + public function testCannotModifyParentBinding(): void + { + $worker_container = new WorkerContainer(); + $worker_container->instance('foo', 'bar'); + + $container = new Container(); + $container->instance('foo', 'qux'); + + $this->assertEquals('bar', $worker_container->get('foo')); + } }