/** @test */ public function resultado_da_soma_modulo_11_esperado() { $valor_entrada = "14000000000000019"; // 17 Posições (Nosso Numero) $resultado_esperado = 59; $this->assertEquals($resultado_esperado, Calculator::getResultadoSomaModulo11($valor_entrada)); $valor_entrada = "005507"; // 6 Posições (Código do Beneficiário) $resultado_esperado = 59; $this->assertEquals($resultado_esperado, Calculator::getResultadoSomaModulo11($valor_entrada)); $valor_entrada = "005507722213334777777777"; // 6 Posições (Código do Beneficiário) $resultado_esperado = 538; $this->assertEquals($resultado_esperado, Calculator::getResultadoSomaModulo11($valor_entrada)); $valor_entrada = "1049324200000321120055077222133347777777771"; $resultado_esperado = 788; $this->assertEquals($resultado_esperado, Calculator::getResultadoSomaModulo11($valor_entrada)); }
/** * @param string $nosso_numero_sem_dv * @return int */ public function calculaDVNossoNumero($nosso_numero_sem_dv = NULL) { $peso_inferior = 2; $peso_superior = 9; if ($nosso_numero_sem_dv === NULL) { $nosso_numero = $this->getNossoNumeroSemDV(); } else { $nosso_numero = $nosso_numero_sem_dv; } $soma_resultados = Calculator::getResultadoSomaModulo11($nosso_numero); $resto_divisao = $soma_resultados % 11; $valor_final = 11 - $resto_divisao; if ($valor_final > 9) { return 0; } else { return $valor_final; } }