Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
        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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #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);
        }
Beispiel #11
0
 public Impuesto(DatosDeTasaBruta losDatos)
 {
     elValorTransadoNeto  = losDatos.ValorTransadoNeto;
     elValorTransadoBruto = new ValorTransadoBruto(losDatos).ComoNumero();
 }
Beispiel #12
0
 public TasaBruta(DatosDeTasaBruta losDatos)
 {
     laTasaDeImpuesto = losDatos.TasaDeImpuesto;
     laTasaNeta       = CalculeLaTasaNeta(losDatos);
 }
Beispiel #13
0
 private static double CalculeLaTasaNeta(DatosDeTasaBruta losDatos)
 {
     // TODO: Arreglar
     return(((losDatos.ValorFacial - losDatos.ValorTransadoNeto) / (losDatos.ValorTransadoNeto * (losDatos.DiasAlVencimiento / 365))) * 100);
 }
Beispiel #14
0
 public TasaBruta(DatosDeTasaBruta losDatos)
 {
     laTasaDeImpuesto = losDatos.TasaDeImpuesto;
     laTasaNeta       = losDatos.TasaNeta;
 }
Beispiel #15
0
 public ImpuestoRedondeado(DatosDeTasaBruta losDatos)
 {
     elImpuesto = new Impuesto(losDatos).ComoNumero();
 }
Beispiel #16
0
 public RendimientoPorDescuento(DatosDeTasaBruta losDatos)
 {
     elValorFacial        = losDatos.ValorFacial;
     elValorTransadoBruto = losDatos.ValorTransadoBruto;
 }