public function testCreateNestedKeyValuePairExtractsDotSeparatedKeysAndCreatesNestedStructure() { $patchValues = []; $this->configResource->createNestedKeyValuePair($patchValues, 'foo.bar.baz', 'value'); $this->assertArrayHasKey('foo', $patchValues); $this->assertInternalType('array', $patchValues['foo']); $this->assertArrayHasKey('bar', $patchValues['foo']); $this->assertInternalType('array', $patchValues['foo']['bar']); $this->assertArrayHasKey('baz', $patchValues['foo']['bar']); $this->assertEquals('value', $patchValues['foo']['bar']['baz']); // ensure second call to createNestedKeyValuePair does not destroy original values $this->configResource->createNestedKeyValuePair($patchValues, 'foo.bar.boom', 'value2'); $this->assertCount(2, $patchValues['foo']['bar']); }