/**
     * Test the empty Generator.
     */
    public function testEmptyGenerator()
    {
        $loader = new \Twig_Loader_Filesystem(__DIR__ . '/../src/Resources/templates/');
        $environment = new \Twig_Environment($loader);
        $filesystem = $this->prophesize(Filesystem::class);
        $interface = <<<EOI
<?php
namespace \\A\\Namespace;

/**
 * Implement this interface in UnitTest!
 * This is a combined interface that will automatically extend to contain the required functions.
 */
interface UnitTestInterface
{
}

EOI;
        $filesystem->dumpFile('/tmp/unit-test/UnitTestInterface.php', $interface)->shouldBeCalled();
        $empty_generator = new EmptyGenerator($environment, $filesystem->reveal());
        $package_class = $this->prophesize(PackageClass::class);
        $package_class->getName()->willReturn('\\A\\Namespace\\UnitTest');
        $package_class->getShortName()->willReturn('UnitTest');
        $package_class->getGeneratedNamespaceName()->willReturn('\\A\\Namespace');
        $package_class->getGeneratedDirectory()->willReturn('/tmp/unit-test/');
        $empty_generator->generate($package_class->reveal());
    }
 public function testGenerateWithExtendedReturnType()
 {
     if (PHP_VERSION_ID < 70100) {
         $this->markTestSkipped('Return types are not available in PHP <7.1');
     }
     $empty_generator = new EmptyGenerator($this->environment, new Filesystem());
     $package_class = new PackageClass(ExtendedReturnType::class, __DIR__ . '/Fixtures/ExtendedReturnType.php');
     $empty_generator->generate($package_class);
     $package_class = new PackageClass(ExtendedReturnType::class, __DIR__ . '/Fixtures/ExtendedReturnType.php');
     $this->reflection_generator->generate($package_class);
     $expected = file_get_contents(__DIR__ . '/Fixtures/ExtendedReturnTypeInterface.php');
     $actual = file_get_contents(__DIR__ . '/Fixtures/Generated/ExtendedReturnTypeInterface.php');
     unlink(__DIR__ . '/Fixtures/Generated/ExtendedReturnTypeInterface.php');
     rmdir(__DIR__ . '/Fixtures/Generated');
     $this->assertSame($expected, $actual);
 }