Ejemplo n.º 1
0
        public void ComoDecimal_Valores_TasaBrutaComoNumero()
        {
            elResultadoEsperado = 11.9679979015017;

            losDatos = new DatosDeTasaBruta
            {
                ValorFacial       = 320000,
                ValorTransadoNeto = 300000,
                TasaDeImpuesto    = 0.08,
                DiasAlVencimiento = 221
            };
            elResultadoObtenido = new TasaBruta(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 13);
        }
Ejemplo n.º 2
0
        public void GenereElRendimientosPorDescuento_NoTieneTratamientoFiscal_SinRedondeo()
        {
            elResultadoEsperado = 19999.9999;

            losDatos = new DatosDeTasaBrutaSinTratamiento
            {
                ValorFacial        = 320000,
                ValorTransadoNeto  = 300000.0001,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new RendimientoPorDescuentoRedondeado(losDatos).ConCuatroDecimales();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 3
0
        public void GenereElRendimientosPorDescuento_TieneTratamientoFiscalYSeDebeRedondear_RedondeaHaciaAbajo()
        {
            elResultadoEsperado = 22159.3592;

            losDatos = new DatosDeTasaBrutaConTratamiento
            {
                ValorFacial        = 320500,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new RendimientoPorDescuentoRedondeado(losDatos).ConCuatroDecimales();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 4
0
        public void ComoDecimal_Valores_TasaBrutaComoNumero()
        {
            elResultadoEsperado = 11.9679979015017;

            losDatos = new DatosDeTasaBrutaConTratamiento
            {
                ValorFacial        = 320000,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new TasaBruta(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 13);
        }
Ejemplo n.º 5
0
        public void ComoNumero_ValoresDeEntrada_ImpuestoCorrecto()
        {
            elResultadoEsperado = 1621.6216216216562;

            losDatos = new DatosDeTasaBrutaConTratamiento
            {
                ValorFacial        = 320000,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new Impuesto(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 6
0
        public void ConCuatroDecimales_ValoresDeEntrada_ImpuestoRedondeadoA4Decimales()
        {
            elResultadoEsperado = 1621.6216;

            losDatos = new DatosDeTasaBrutaConTratamiento
            {
                ValorFacial        = 320000,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new ImpuestoRedondeado(losDatos).ConCuatroDecimales();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 7
0
        public void GenereElImpuesto_NoTieneTratamientoFiscal_EsCero()
        {
            elResultadoEsperado = 0;

            losDatos = new DatosDeTasaBrutaSinTratamiento
            {
                ValorFacial        = 320500,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = losDatos.Impuesto;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 8
0
        public void GenereElImpuesto_TieneTratamientoFiscalYSeRedondea_RedondeoHaciaArriba()
        {
            elResultadoEsperado = 1659.3592;

            losDatos = new DatosDeTasaBrutaConTratamiento
            {
                ValorFacial        = 320500,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = losDatos.Impuesto;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 9
0
        public void ComoNumero_SinTratamientoFiscal_RendimientoPorDescuentoCorrecto()
        {
            elResultadoEsperado = 19999.999899999995;

            losDatos = new DatosDeTasaBrutaSinTratamiento
            {
                ValorFacial        = 320000.0,
                ValorTransadoNeto  = 300000.0001,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new RendimientoPorDescuento(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Ejemplo n.º 10
0
        public void ComoUnNumero_CalculaValorTransadoBrutoConTratamiento()
        {
            elResultadoEsperado = 298378.378378378;

            losDatos = new DatosDeTasaBrutaSinTratamiento
            {
                ValorFacial        = 320000,
                ValorTransadoNeto  = 300000,
                TasaDeImpuesto     = 0.08,
                FechaDeVencimiento = new DateTime(2016, 10, 10),
                FechaActual        = new DateTime(2016, 3, 3)
            };
            elResultadoObtenido = new ValorTransadoBruto(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 9);
        }
Ejemplo n.º 11
0
 public Impuesto(DatosDeTasaBruta losDatos)
 {
     elValorTransadoNeto  = losDatos.ValorTransadoNeto;
     elValorTransadoBruto = new ValorTransadoBruto(losDatos).ComoNumero();
 }
Ejemplo n.º 12
0
 public TasaBruta(DatosDeTasaBruta losDatos)
 {
     laTasaDeImpuesto = losDatos.TasaDeImpuesto;
     laTasaNeta       = CalculeLaTasaNeta(losDatos);
 }
Ejemplo n.º 13
0
 private static double CalculeLaTasaNeta(DatosDeTasaBruta losDatos)
 {
     // TODO: Arreglar
     return(((losDatos.ValorFacial - losDatos.ValorTransadoNeto) / (losDatos.ValorTransadoNeto * (losDatos.DiasAlVencimiento / 365))) * 100);
 }
Ejemplo n.º 14
0
 public TasaBruta(DatosDeTasaBruta losDatos)
 {
     laTasaDeImpuesto = losDatos.TasaDeImpuesto;
     laTasaNeta       = losDatos.TasaNeta;
 }
Ejemplo n.º 15
0
 public ImpuestoRedondeado(DatosDeTasaBruta losDatos)
 {
     elImpuesto = new Impuesto(losDatos).ComoNumero();
 }
Ejemplo n.º 16
0
 public RendimientoPorDescuento(DatosDeTasaBruta losDatos)
 {
     elValorFacial        = losDatos.ValorFacial;
     elValorTransadoBruto = losDatos.ValorTransadoBruto;
 }