builder = $this->initRegistryBuilder(); } /** * @return Builder */ protected abstract function initRegistryBuilder(); public function tearDown() { $this->builder = null; } public function test_interface_operations() { $registry = $this->builder->build(); $registry->add('numbers', 1); $registry->add('test.items.item', 1); $this->assertEquals(1, $registry->get('numbers')); $this->assertTrue($registry->has('numbers')); $this->assertTrue($registry->has('test')); $this->assertTrue($registry->has('test.items')); $this->assertTrue($registry->has('test.items.item')); $this->assertEquals(1, $registry->get('test.items.item')); } public function test_get_throws_NotFoundException() { $registry = $this->builder->build(); $registry->add('numbers', 1); $registry->add('test.items', 1); $this->expectException(NotFoundException::class); $registry->get('strings'); $this->expectException(NotFoundException::class); $registry->get('test.item'); $this->expectException(NotFoundException::class); $registry->get('tests.items'); } public function test_has_returns_false() { $registry = $this->builder->build(); $registry->add('test.items.item', 1); $this->assertFalse($registry->has('tests')); $this->assertFalse($registry->has('tests.item')); $this->assertFalse($registry->has('test.item')); $this->assertFalse($registry->has('test.items.items')); } }