public function testDeveGerarNFComValorDeImpostoDescontado()
 {
     $gerador = new GeradorDeNotaFiscal();
     $pedido = new Pedido("Andre", 1000, 1);
     $nf = $gerador->gera($pedido);
     $this->assertEquals(1000 * 0.9399999999999999, $nf->getValor(), null, 1.0E-5);
 }
 /**
  * @covers CDC\Loja\FluxoDeCaixa\GeradorDeNotaFiscal::gera()
  */
 public function testDeveConsultarATabelaParaCalcularValor()
 {
     // mockando uma tabela, que ainda nem existe
     $tabela = Mockery::mock("CDC\\Loja\\Tributos\\TabelaInterface");
     // definindo o futuro comportamento "paraValor",
     // que deve retornar 0.2 caso valor seja 1000.0
     $tabela->shouldReceive("paraValor")->with(1000.0)->andReturn(0.2);
     $gerador = new GeradorDeNotaFiscal(array(), new RelogioDoSistema(), $tabela);
     $pedido = new Pedido("Andre", 1000.0, 1);
     $nf = $gerador->gera($pedido);
     //garantindo que a tabela foi consultada
     $this->assertEquals(1000 * 0.8, $nf->getValor(), null, 1.0E-5);
 }