/** * @test */ function it_assembles_a_property() { $assembler = new FluentSetterAssembler(); $context = $this->createContext(); $assembler->assemble($context); $code = $context->getClass()->generate(); $expected = <<<CODE namespace MyNamespace; class MyType { /** * @param string \$prop1 * @return \$this */ public function setProp1(\$prop1) { \$this->prop1 = \$prop1; return \$this; } } CODE; $this->assertEquals($expected, $code); }