Beispiel #1
0
 /**
  * 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));
 }