diff --git a/lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php b/lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php
index dd78957f0196269217323ae56afde8a6a4208b66..0db65f3b6b5fa06cf52f320e11a7aa9eb05b9328 100644
--- a/lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php
+++ b/lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php
@@ -1,6 +1,5 @@
 <?php
 /**
- *
  * Copyright © 2016 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
diff --git a/lib/internal/Magento/Framework/Test/Unit/ObjectManager/Config/CompiledTest.php b/lib/internal/Magento/Framework/Test/Unit/ObjectManager/Config/CompiledTest.php
index 3dd9f5065a1421ec822d4a81377ea81a5c3f8f52..7ebb44a3b1389649ba6844a8e65eab30c285988b 100644
--- a/lib/internal/Magento/Framework/Test/Unit/ObjectManager/Config/CompiledTest.php
+++ b/lib/internal/Magento/Framework/Test/Unit/ObjectManager/Config/CompiledTest.php
@@ -5,87 +5,93 @@
  */
 namespace Magento\Framework\Test\Unit\ObjectManager\Config;
 
-use Magento\Framework\ObjectManager\Config\Compiled as CompiledConfig;
-use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
+use Magento\Framework\ObjectManager\Config\Compiled;
+use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManager;
+use Magento\Framework\Serialize\SerializerInterface;
 
 class CompiledTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var ObjectManagerHelper
+     * @var ObjectManager
      */
-    private $objectManagerHelper;
-
-    protected function setUp()
-    {
-        $this->objectManagerHelper = new ObjectManagerHelper($this);
-    }
+    private $objectManager;
 
     /**
-     * @param array $initialData
-     * @param array $configuration
-     * @param array $expectedArguments
-     * @param array $expectedVirtualTypes
-     * @param array $expectedPreferences
-     *
-     * @dataProvider extendDataProvider
+     * @var SerializerInterface|\PHPUnit_Framework_MockObject_MockObject
      */
-    public function testExtend(
-        array $initialData,
-        array $configuration,
-        array $expectedArguments,
-        array $expectedVirtualTypes,
-        array $expectedPreferences
-    ) {
-        /** @var CompiledConfig $compiledConfig */
-        $compiledConfig = $this->objectManagerHelper->getObject(CompiledConfig::class, ['data' => $initialData]);
-        $compiledConfig->extend($configuration);
+    private $serializerMock;
 
-        foreach ($expectedArguments as $type => $arguments) {
-            $this->assertEquals($arguments, $compiledConfig->getArguments($type));
-        }
-
-        $this->assertEquals($expectedVirtualTypes, $compiledConfig->getVirtualTypes());
-        $this->assertEquals($expectedPreferences, $compiledConfig->getPreferences());
+    protected function setUp()
+    {
+        $this->objectManager = new ObjectManager($this);
+        $this->serializerMock = $this->getMock(SerializerInterface::class);
     }
 
-    /**
-     * @return array
-     */
-    public function extendDataProvider()
+    public function testExtend()
     {
-        return [
-            [
-                'initialData' => [
-                    'arguments' => [
-                        'type1' => serialize(['argument1_1' => 'argumentValue1_1', 'argument1_2' => 'argumentValue1_2'])
-                    ],
-                    'instanceTypes' => [
-                        'instanceType1' => 'instanceTypeValue1', 'instanceType2' => 'instanceTypeValue2'
-                    ],
-                    'preferences' => ['preference1' => 'preferenceValue1', 'preference2' => 'preferenceValue2']
-                ],
-                'configuration' => [
-                    'arguments' => [
-                        'type1' => serialize(['argument1_1' => 'newArgumentValue1_1']),
-                        'type2' => serialize(['argument2_1' => 'newArgumentValue2_1'])
-                    ],
-                    'instanceTypes' => [
-                        'instanceType2' => 'newInstanceTypeValue2', 'instanceType3' => 'newInstanceTypeValue3'
-                    ],
-                    'preferences' => ['preference1' => 'newPreferenceValue1']
-                ],
-                'expectedArguments' => [
-                    'type1' => ['argument1_1' => 'newArgumentValue1_1'],
-                    'type2' => ['argument2_1' => 'newArgumentValue2_1']
-                ],
-                'expectedVirtualTypes' => [
-                    'instanceType1' => 'instanceTypeValue1', 'instanceType2' => 'newInstanceTypeValue2',
-                    'instanceType3' => 'newInstanceTypeValue3'
-                ],
-                'expectedPreferences' => [
-                    'preference1' => 'newPreferenceValue1', 'preference2' => 'preferenceValue2'
-                ]
+        $initialData = [
+            'arguments' => [
+                'type1' => 'initial serialized configuration for type1'
+            ],
+            'instanceTypes' => [
+                'instanceType1' => 'instanceTypeValue1',
+                'instanceType2' => 'instanceTypeValue2'
+            ],
+            'preferences' => [
+                'preference1' => 'preferenceValue1',
+                'preference2' => 'preferenceValue2'
+            ]
+        ];
+        $configuration = [
+            'arguments' => [
+                'type1' => 'serialized configuration for type1',
+                'type2' => 'serialized configuration for type2'
+            ],
+            'instanceTypes' => [
+                'instanceType2' => 'newInstanceTypeValue2',
+                'instanceType3' => 'newInstanceTypeValue3'
+            ],
+            'preferences' => [
+                'preference1' => 'newPreferenceValue1'
             ]
         ];
+        $expectedArguments = [
+            'type1' => [
+                'argument1_1' => 'newArgumentValue1_1'
+            ],
+            'type2' => [
+                'argument2_1' => 'newArgumentValue2_1'
+            ]
+        ];
+        $expectedVirtualTypes = [
+            'instanceType1' => 'instanceTypeValue1',
+            'instanceType2' => 'newInstanceTypeValue2',
+            'instanceType3' => 'newInstanceTypeValue3'
+        ];
+        $expectedPreferences = [
+            'preference1' => 'newPreferenceValue1',
+            'preference2' => 'preferenceValue2'
+        ];
+        $this->serializerMock->expects($this->at(0))
+            ->method('unserialize')
+            ->with($configuration['arguments']['type1'])
+            ->willReturn($expectedArguments['type1']);
+        $this->serializerMock->expects($this->at(1))
+            ->method('unserialize')
+            ->with($configuration['arguments']['type2'])
+            ->willReturn($expectedArguments['type2']);
+        $compiled = $this->objectManager->getObject(
+            Compiled::class,
+            [
+                'data' => $initialData,
+                'serializer' => $this->serializerMock
+            ]
+        );
+        $compiled->extend($configuration);
+        foreach ($expectedArguments as $type => $arguments) {
+            $this->assertEquals($arguments, $compiled->getArguments($type));
+        }
+        $this->assertEquals($expectedVirtualTypes, $compiled->getVirtualTypes());
+        $this->assertEquals($expectedPreferences, $compiled->getPreferences());
     }
 }