/**
  * @depends testGetCustomFieldAttributesNotUsedInOtherDependencyAttributes
  */
 public function testMakeDependencyCollectionByMappingData()
 {
     $adapter = new DropDownDependencyToMappingLayoutAdapter('TestDropDownDependencyModel', null, 4);
     $mappings = $adapter->makeDependencyCollectionByMappingData(array());
     $this->assertEquals(4, count($mappings));
     $adapter = new DropDownDependencyToMappingLayoutAdapter('TestDropDownDependencyModel', 'someName', 4);
     $mappingData = array(array('attributeName' => 'something1'));
     $mappings = $adapter->makeDependencyCollectionByMappingData($mappingData);
     $this->assertEquals(4, count($mappings));
     $this->assertEquals('something1', $mappings[0]->getAttributeName());
     $this->assertEquals(0, $mappings[0]->getPosition());
 }
 /**
  * @param DropDownDependencyAttributeForm $model
  * @param string $controllerId
  * @param string $moduleId
  * @param bool $renderContainer
  * @return string
  */
 public static function renderContainerAndMappingLayoutContent(DropDownDependencyAttributeForm $model, $controllerId, $moduleId, $renderContainer = true)
 {
     assert('is_string($controllerId)');
     assert('is_string($moduleId)');
     assert('is_bool($renderContainer)');
     static::renderScripts();
     $mappingDataDivId = 'DropDownDependencyMappingData';
     $ajaxActionId = 'changeDropDownDependencyAttribute';
     $content = null;
     if ($renderContainer) {
         $content .= '<div id="' . $mappingDataDivId . '">';
     }
     $adapter = new DropDownDependencyToMappingLayoutAdapter($model->modelClassName, $model->attributeName, 4);
     $dependencyCollection = $adapter->makeDependencyCollectionByMappingData($model->mappingData);
     $dropDownDependencyMappingLayout = new DropDownDependencyMappingFormLayoutUtil($dependencyCollection, get_class($model), $controllerId, $moduleId, $ajaxActionId, $mappingDataDivId);
     $content .= $dropDownDependencyMappingLayout->render();
     if ($renderContainer) {
         $content .= '</div>' . "\n";
     }
     return $content;
 }