public function testOptionsFluentInterface() { $options = $this->_storage->getOptions(); foreach ($options->toArray() as $option => $value) { $method = ucwords(str_replace('_', ' ', $option)); $method = 'set' . str_replace(' ', '', $method); $this->assertSame( $options, $options->{$method}($value), "Method '{$method}' doesn't implement the fluent interface" ); } $this->assertSame( $this->_storage, $this->_storage->setOptions($options), "Method 'setOptions' doesn't implement the fluent interface" ); }