public function testGetterTest() { $data = ['config1' => 1, 'config_bool' => true, 'config_string' => 'data', 'config_array' => [1, 2, 3], 'db' => ['dsn' => 'mysql:123', 'user' => 'aoi_miyazaki']]; $obj = new ConcreteResource($data); $this->assertEquals(1, $obj->getResource('config1')); $this->assertTrue($obj->getResource('config_bool')); $this->assertSame([1, 2, 3], $obj->getResource('config_array')); $this->assertNull($obj->getResource('config_string1'), 'non exists key'); $this->assertSame(2, $obj->getResource('config2', 2), 'non-exiss key and default'); $this->assertSame($data, $obj->getResource(), 'get all'); $this->assertSame($data, $obj->getResourceData(), 'get all'); $this->assertEquals('aoi_miyazaki', $obj->getResource('db.user')); $this->assertSame(['dsn' => 'mysql:123', 'user' => 'aoi_miyazaki'], $obj->getResource('db')); $this->assertEquals('aoi-no-password', $obj->getResource('db.password', 'aoi-no-password'), 'default'); $this->assertEquals(null, $obj->getResource('db.user.name')); // clear $obj->clearResource(); $this->assertSame([], $obj->getResourceData()); $this->assertEquals(null, $obj->getResource('config1')); }