This class is meant to do the opposite of the SchemaMapper.
См. также: http://martinfowler.com/eaaCatalog/dataTransferObject.html
 /**
  * @dataProvider EntityAssemblerFixture
  */
 public function testShouldAssembleEntityForTheGivenSchema($inputValue, $availableSchemas, $inputSchema, $expectedOutput)
 {
     // Arrange
     $entityAssembler = new EntityAssembler();
     $schemas = [];
     foreach ($availableSchemas as $key => $value) {
         $schemas[$key] = m::mock(Schema::class . '[]');
         $schemas[$key]->entityClass = $value['entityClass'];
         $schemas[$key]->fields = $value['fields'];
     }
     // Act
     foreach ($schemas as $className => $instance) {
         Ioc::instance($className, $instance);
     }
     // Assert
     $result = $entityAssembler->assemble($inputValue, $schemas[$inputSchema]);
     $this->assertEquals($expectedOutput, $result);
 }