function it_assembles_a_type()
{
$assembler = new IteratorAssembler();
$context = $this->createContext();
$assembler->assemble($context);
$code = $context->getClass()->generate();
$expected = <<<CODE
namespace MyNamespace;
use IteratorAggregate;
class MyType implements IteratorAggregate
{
/**
* @return \\ArrayIterator
*/
public function getIterator()
{
return new \\ArrayIterator(is_array(\$this->prop1) ? \$this->prop1 : []);
}
}
CODE;
$this->assertEquals($expected, $code);
}