public function testSetValueMultipleConvertsToCurrencyInstance() { $element = new SelectCurrency('myName'); $element->setAttribute('multiple', true); $element->setValue(array('GBP', 'ZAR', 'USD')); $value = $element->getValue(); $this->assertInternalType('array', $value); $this->assertContainsOnlyInstancesOf('NetglueMoney\\Money\\Currency', $value); $element->setValue('GBP'); $value = $element->getValue(); $this->assertInternalType('array', $value); $this->assertContainsOnlyInstancesOf('NetglueMoney\\Money\\Currency', $value); $input = new \ArrayObject(array('GBP', 'USD')); $element->setValue($input); $value = $element->getValue(); $this->assertInternalType('array', $value); $this->assertContainsOnlyInstancesOf('NetglueMoney\\Money\\Currency', $value); $element->setValue(NULL); $this->assertSame(array(), $element->getValue()); }