public function testGetValuesForChoices() { $item1 = new Item(1, 'Foo'); $item2 = new Item(2, 'Bar'); $choiceList = new ModelChoiceList(self::ITEM_CLASS, 'value', null, null, null, null); $this->assertEquals(array(1, 2), $choiceList->getValuesForChoices(array($item1, $item2))); $this->assertEquals(array(1, 2), $choiceList->getIndicesForChoices(array($item1, $item2))); }
/** * {@inheritdoc} */ public function getChoices() { $choices = parent::getChoices(); $array = array(); foreach ($choices as $value => $label) { $array[] = array('value' => $value, 'label' => $label); } return $array; }
public function testGetIndicesForNullChoices() { $item = new Item(1, 'Foo'); $choiceList = new ModelChoiceList(self::ITEM_CLASS, 'value', array($item)); $this->assertEquals(array(), $choiceList->getIndicesForChoices(array(null))); }
public function testCustomIdentifier() { $item1 = new Item(1, 'Foo', null, null, 'slug'); $item2 = new Item(2, 'Bar', null, null, 'slug2'); $choiceList = new ModelChoiceList(self::ITEM_CLASS, 'value', array($item1, $item2), null, null, array(), null, 'slug'); $this->assertSame(array('slug' => $item1, 'slug2' => $item2), $choiceList->getChoices()); }
public function testDontAllowInvalidChoiceValues() { $item = new Item(1, 'Foo'); $choiceList = new ModelChoiceList(self::ITEM_CLASS, 'value', array($item)); $this->assertEquals(array(), $choiceList->getValuesForChoices(array(new Item(2, 'Bar')))); $this->assertEquals(array(), $choiceList->getChoicesForValues(array(2))); }
public function testDifferentEqualObjectsAreChoosen() { $item = new Item(1, 'Foo'); $choiceList = new ModelChoiceList(self::ITEM_CLASS, 'value', array($item)); $choosenItem = new Item(1, 'Foo'); $this->assertEquals(array(1), $choiceList->getIndicesForChoices(array($choosenItem))); }