assemble() public method

Builds an object from the provided data.
public assemble ( array | object $document, Schema $schema ) : mixed
$document array | object The attributes that will be used to compose the entity.
$schema Mongolid\Schema\Schema Schema that will be used to map each field.
return mixed
 /**
  * @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);
 }