public function testUseStatements()
{
$class = new PhpClass('Foo\\Bar');
$class->addUseStatement('Bam\\Baz');
$codegen = new CodeFileGenerator(['generateDocblock' => false, 'generateEmptyDocblock' => false]);
$code = $codegen->generate($class);
$this->assertEquals($this->getGeneratedContent('FooBar.php'), $code);
$class = new PhpClass('Foo\\Bar');
$class->addUseStatement('Bam\\Baz', 'BamBaz');
$codegen = new CodeFileGenerator(['generateDocblock' => false, 'generateEmptyDocblock' => false]);
$code = $codegen->generate($class);
$this->assertEquals($this->getGeneratedContent('FooBarWithAlias.php'), $code);
$class = new PhpClass('Foo');
$class->addUseStatement('Bar');
$generator = new ModelGenerator();
$code = $generator->generate($class);
$expected = 'class Foo {' . "\n" . '}';
$this->assertEquals($expected, $code);
}