public function testAdvancedRendering()
 {
     $containerEntity = new Container();
     $containerEntity->setId(2);
     foreach (['key1' => true, 'key2' => 'false', 'key3' => false] as $key => $value) {
         $containerData = new ContainerData($key, $value);
         $containerEntity->addData($containerData);
     }
     $containerEntity->setWidth(400);
     $containerEntity->setHeight(300);
     $containerEntity->setCssClass('simple-css-class');
     $containerEntity->setStyles('border: 1px solid red;');
     $containerEntity->setName('simple_container');
     $container = new SimpleContainer($containerEntity, $this->getRenderer());
     $this->assertEquals($container->renderOpenTag(), '<div id="swp_container_2" class="swp_container simple-css-class" style="height: 300px;width: 400px;border: 1px solid red;" data-key1="1" data-key2="false" data-key3="" >');
 }
 public function getContainer($name, array $parameters = [], $createIfNotExists = true)
 {
     $containerEntity = $this->objectManager->getRepository('SWP\\Bundle\\TemplatesSystemBundle\\Model\\Container')->getByName($name)->getOneOrNullResult();
     if (!$containerEntity && $createIfNotExists) {
         $containerEntity = $this->createNewContainer($name, $parameters);
     } elseif (!$containerEntity) {
         throw new \Exception('Container was not found');
     }
     $widgets = [];
     $containerWidgets = $this->objectManager->getRepository('SWP\\Bundle\\TemplatesSystemBundle\\Model\\ContainerWidget')->getSortedWidgets(['container' => $containerEntity])->getResult();
     foreach ($containerWidgets as $containerWidget) {
         $widgetModel = $containerWidget->getWidget();
         $widgetClass = $widgetModel->getType();
         if (is_a($widgetClass, '\\SWP\\Bundle\\TemplatesSystemBundle\\Widget\\TemplatingWidgetHandler', true)) {
             $widgetHandler = new $widgetClass($widgetModel, $this->serviceContainer->get('templating'));
         } else {
             $widgetHandler = new $widgetClass($widgetModel);
         }
         $widgets[] = $widgetHandler;
     }
     $container = new SimpleContainer($containerEntity, $this->getRenderer());
     $container->setWidgets($widgets);
     return $container;
 }