/** * */ function test_gem_shared_not_null() { $resolver = new Resolver(); $value = 0; $this->assertTrue(false === $resolver->has('foo')); $this->assertTrue($value === $resolver->gem(new Shared('foo', new Args($value)))); $this->assertTrue(true === $resolver->has('foo')); $this->assertTrue(['foo' => $value] === $resolver->container()); $this->assertTrue($value === $resolver->gem(new Shared('foo'))); }
/** * */ function test_clone_with_container_object() { $resolver = new Resolver([Arg::CONTAINER => new Config()]); $clone = clone $resolver; $this->assertEquals(true, $clone == $resolver); $container = $clone->container(); $container['a'] = 'a'; $this->assertEquals(false, $clone == $resolver); $this->assertEquals(new Config(), $resolver->container()); $this->assertEquals(new Config(['a' => 'a']), $clone->container()); $this->assertEquals(null, $clone['b']); $clone->config()[Arg::CONTAINER]['b'] = 'b'; $this->assertEquals('b', $clone['b']); $this->assertTrue($clone->container() === $clone->config()[Arg::CONTAINER]); }