createMetadata([ 'Test' => [], ]); $this->assertTrue($metadata->has('Test')); } public function testHas2() { $metadata = $this->createMetadata([ 'Test' => [], ]); $this->assertFalse($metadata->has('Hello')); } public function testGet1() { $metadata = $this->createMetadata([ 'Test' => [ 'indexes' => [], ], ]); $this->assertEquals([], $metadata->get('Test', 'indexes')); } public function testGet2() { $metadata = $this->createMetadata([ 'Test' => [ 'relations' => [ 'test' => [ 'type' => 'hasMany', ], ], ], ]); $this->assertEquals('hasMany', $metadata->get('Test', 'relations.test.type')); } public function testGet3() { $metadata = $this->createMetadata([ 'Test' => [ 'relations' => [ 'test' => [ 'type' => 'hasMany', ], ], ], ]); $this->assertEquals('hasMany', $metadata->get('Test', ['relations', 'test', 'type'])); } protected function createMetadata(array $data) : Metadata { $metadataDataProvider = $this->createMock(MetadataDataProvider::class); $metadataDataProvider ->expects($this->any()) ->method('get') ->willReturn($data); return new Metadata($metadataDataProvider); } }