/** * @test */ function it_assembles_a_type() { $assembler = new ConstructorAssembler(); $context = $this->createContext(); $assembler->assemble($context); $code = $context->getClass()->generate(); $expected = <<<CODE namespace MyNamespace; class MyType { /** * Constructor * * @var string \$prop1 * @var int \$prop2 */ public function __construct(\$prop1, \$prop2) { \$this->prop1 = \$prop1; \$this->prop2 = \$prop2; } } CODE; $this->assertEquals($expected, $code); }