public function testShouldCreateACacheableCursor()
{
// Set
$factory = new CursorFactory();
$schema = m::mock(Schema::class);
$collection = m::mock(Collection::class);
// Assert
$result = $factory->createCursor($schema, $collection, 'find', $params = ['age' => ['$gr' => 25]], true);
$this->assertInstanceOf(Cursor::class, $result);
$this->assertInstanceOf(CacheableCursor::class, $result);
$this->assertNotInstanceOf(EmbeddedCursor::class, $result);
$this->assertAttributeEquals($schema, 'entitySchema', $result);
$this->assertAttributeEquals($collection, 'collection', $result);
$this->assertAttributeEquals('find', 'command', $result);
$this->assertAttributeEquals($params, 'params', $result);
}