/** * Cria um arquivo de retorno * @param string $filename * @return \Cnab\Remessa\IArquivo */ public function createRetorno($filename) { $identifier = new Format\Identifier(); if (empty($filename)) { throw new \InvalidArgumentException('$filename cannot be empty'); } $format = $identifier->identifyFile($filename); if (!$format) { throw new \Exception('Formato do arquivo não identificado'); } if ($format['tipo'] != 'retorno') { throw new \Exception('Este não é um arquivo de retorno'); } if (!$format['banco']) { throw new \Exception('Banco não suportado'); } if (!\Cnab\Banco::existBanco($format['banco'])) { throw new \Exception('Banco não suportado'); } // por enquanto só suporta o Cnab400 if ($format['bytes'] == 400) { return new Retorno\Cnab400\Arquivo($format['banco'], $filename, $format['layout_versao']); } else { if ($format['bytes'] == 240) { return new Retorno\Cnab240\Arquivo($format['banco'], $filename, $format['layout_versao']); } else { throw new \Exception('Formato não suportado'); } } }
public function testContemOsBancosEsperados() { $this->assertTrue(Banco::existBanco(Banco::ITAU)); $this->assertTrue(Banco::existBanco(Banco::CEF)); $this->assertTrue(Banco::existBanco(Banco::SANTANDER)); $this->assertTrue(Banco::existBanco(Banco::BRADESCO)); }