public function testSave()
 {
     $suite = TestSuite::create('myname "', '/foo/bar.php', 'foo.bar', 'foo.bar');
     $testcase = TestCase::create('myname "', 2, 0.345, 'stdClass', '/foo/bar.php', 12);
     $testcase->setError(new TestError('my "type', "</error> message ]]>"));
     $suite->addTestCase($testcase);
     $suite->addTestCase(TestCase::create('foobar', 2, 0.345, 'stdClass', '/foo/bar.php', 25));
     $write = new JUnitWriter();
     $write->save($suite, $resource = tmpfile());
     fseek($resource, 0);
     $contents = fread($resource, 4096);
     fclose($resource);
     $xml = new \SimpleXMLElement($contents);
     $this->assertEquals(2, count($xml->xpath('//testcase')));
 }
 /**
  * {@inheritdoc}
  */
 public function execute(InputInterface $input, OutputInterface $output)
 {
     if (!is_dir($input->getArgument('folder'))) {
         throw new \RuntimeException(sprintf('The folder %s is not writable', $input->getArgument('folder')));
     }
     if (is_file($input->getArgument('target'))) {
         unlink($input->getArgument('target'));
     }
     $f = Finder::create()->ignoreVCS(true)->in($input->getArgument('folder'))->name('*.xml');
     $output->writeln(sprintf("Merging TestSuite from %s", $input->getArgument('folder')));
     $merger = new JUnitMerger();
     $testsuite = $merger->merge($f->getIterator());
     $output->writeln(sprintf("Saving TestSuite to %s", $input->getArgument('target')));
     $writer = new JUnitWriter();
     $writer->save($testsuite, $input->getArgument('target'));
     $output->writeln("Done!");
 }