コード例 #1
0
        public void CalcularIcms_Cfop6009_ReducaoBaseAplicada()
        {
            // Arrange
            var pedido = NotaFiscalTest.NovoPedido();

            pedido.EstadoOrigem  = "SP";
            pedido.EstadoDestino = "SE";

            var novoPedidoItem = new PedidoItem
            {
                Brinde = false, CodigoProduto = "123", NomeProduto = "X", ValorItemPedido = 1000
            };

            var notaFiscal = NotaFiscal.New(pedido);
            var cfop       = new Cfop(notaFiscal.EstadoOrigem, notaFiscal.EstadoDestino).Value(); // 6.009

            // Act
            var icms = new ImpostoIcms(notaFiscal, novoPedidoItem, cfop);

            // Assert
            Assert.NotNull(icms);
            Assert.Equal("10", icms.Tipo);
            Assert.Equal(0.17, icms.Aliquota);
            Assert.Equal(1000 * 0.17 * 0.9, icms.Valor);
        }
コード例 #2
0
        public void CalcularIcms_PedidoItemBrinde_TipoAliquotaDefinidosBrinde()
        {
            // Arrange
            var pedido = NotaFiscalTest.NovoPedido();

            pedido.EstadoOrigem  = "SP";
            pedido.EstadoDestino = "RJ";

            var novoPedidoItem = new PedidoItem
            {
                Brinde = true, CodigoProduto = "123", NomeProduto = "X", ValorItemPedido = 1000
            };

            var notaFiscal = NotaFiscal.New(pedido);
            var cfop       = new Cfop(notaFiscal.EstadoOrigem, notaFiscal.EstadoDestino).Value();

            // Act
            var icms = new ImpostoIcms(notaFiscal, novoPedidoItem, cfop);

            // Assert
            Assert.NotNull(icms);
            Assert.Equal("60", icms.Tipo);
            Assert.Equal(0.18, icms.Aliquota);
            Assert.Equal(1000 * 0.18, icms.Valor);
        }
コード例 #3
0
        public void CalcularIpi_PedidoItemNaoBrinde_AliquotaDefinidosNaoBrinde()
        {
            // Arrange
            var pedido = NotaFiscalTest.NovoPedido();

            pedido.EstadoOrigem  = "SP";
            pedido.EstadoDestino = "RJ";

            var novoPedidoItem = new PedidoItem
            {
                Brinde = false, CodigoProduto = "123", NomeProduto = "X", ValorItemPedido = 1000
            };

            var notaFiscal = NotaFiscal.New(pedido);

            // Act
            var ipi = new ImpostoIpi(notaFiscal, novoPedidoItem);

            // Assert
            Assert.NotNull(ipi);
            Assert.Equal(0.10, ipi.Aliquota);
            Assert.Equal(1000 * 0.10, ipi.Valor);
        }