コード例 #1
0
ファイル: DiasTotales_Tests.cs プロジェクト: clongan/DAS
        public void DiasAlVencimiento_DosFechas_Diferencia()
        {
            elResultadoEsperado = 221.00;

            laInformacion = new LaInformacionDelRendimientoPorDescuento();
            laInformacion.fechaDeVencimiento = new DateTime(2016, 10, 10);
            laInformacion.fechaActual        = new DateTime(2016, 3, 3);
            elResultadoObtenido = new DiasAlVencimiento(laInformacion).DiasTotales();

            Assert.AreEqual(elResultadoObtenido, elResultadoEsperado);
        }
コード例 #2
0
 public void ValorTransadoBruto_ConTratamientoFiscal_Test()
 {
     elResultadoEsperado              = 298378.378378378;
     laInformacion                    = new LaInformacionDelRendimientoPorDescuento();
     laInformacion.valorFacial        = 320000;
     laInformacion.valorTransadoNeto  = 300000;
     laInformacion.tasaDeImpuesto     = 0.08;
     laInformacion.fechaDeVencimiento = new DateTime(2016, 10, 10);
     laInformacion.fechaActual        = new DateTime(2016, 3, 3);
     elResultadoObtenido              = new ValorTransadoBruto(laInformacion).ObtenerValorTransadoBruto();
     Assert.AreEqual(elResultadoObtenido, elResultadoEsperado, 0.000000001);
 }
コード例 #3
0
ファイル: ImpuestoRedondeado.cs プロジェクト: clongan/DAS
 private double ObtenerImpuestoSinRedondeo(LaInformacionDelRendimientoPorDescuento laInformacion)
 {
     // TODO: 2 PUNTOS
     if (laInformacion.tieneTratamientoFiscal)
     {
         return(new ImpuestoConTratamientoFiscal(laInformacion).CalcularImpuesto());
     }
     else
     {
         return(0);
     }
 }
コード例 #4
0
        public void ObtenerTasaBruta_Tests()
        {
            elResultadoEsperado = 11.9679979015017;

            laInformacion                    = new LaInformacionDelRendimientoPorDescuento();
            laInformacion.valorFacial        = 320000;
            laInformacion.valorTransadoNeto  = 300000;
            laInformacion.tasaDeImpuesto     = 0.08;
            laInformacion.fechaDeVencimiento = new DateTime(2016, 10, 10);
            laInformacion.fechaActual        = new DateTime(2016, 3, 3);
            diasAlVencimiento                = new DiasAlVencimiento(laInformacion).DiasTotales();
            elResultadoObtenido              = new TasaBruta(laInformacion, diasAlVencimiento).ObtenerTasaBruta();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido, 0.0000000000001);
        }
コード例 #5
0
        public void RendimientoPorDescuento_ConTratamientoFiscal()
        {
            elResultadoEsperado = 21621.6216;

            laInformacion                        = new LaInformacionDelRendimientoPorDescuento();
            laInformacion.valorFacial            = 320000;
            laInformacion.valorTransadoNeto      = 300000;
            laInformacion.tasaDeImpuesto         = 0.08;
            laInformacion.fechaDeVencimiento     = new DateTime(2016, 10, 10);
            laInformacion.fechaActual            = new DateTime(2016, 3, 3);
            laInformacion.tieneTratamientoFiscal = true;

            elResultadoObtenido = RendimientoPorDescuento.DeterminarRendimientoPorDescuento(laInformacion);

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #6
0
        public void GeneraRendimientoPorDescuento_NoTieneTratamientoFiscal_SinRedondeo()
        {
            elResultadoEsperado = 19999.9999;

            laInformacion                        = new LaInformacionDelRendimientoPorDescuento();
            laInformacion.valorFacial            = 320000;
            laInformacion.valorTransadoNeto      = 300000.0001;
            laInformacion.tasaDeImpuesto         = 0.08;
            laInformacion.fechaDeVencimiento     = new DateTime(2016, 10, 10);
            laInformacion.fechaActual            = new DateTime(2016, 3, 3);
            laInformacion.tieneTratamientoFiscal = false;

            elResultadoObtenido = RendimientoPorDescuento.DeterminarRendimientoPorDescuento(laInformacion);

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #7
0
        public void GeneraImpuesto_TieneTratamientoFiscal_RedondeoHaciaArriba()
        {
            elResultadoEsperado = 1659.3592;

            laInformacion                        = new LaInformacionDelRendimientoPorDescuento();
            laInformacion.valorFacial            = 320500;
            laInformacion.valorTransadoNeto      = 300000;
            laInformacion.tasaDeImpuesto         = 0.08;
            laInformacion.fechaDeVencimiento     = new DateTime(2016, 10, 10);
            laInformacion.fechaActual            = new DateTime(2016, 3, 3);
            laInformacion.tieneTratamientoFiscal = true;

            elResultadoObtenido = Impuesto.DeterminarImpuesto(laInformacion);

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #8
0
 public static double DeterminarImpuesto(LaInformacionDelRendimientoPorDescuento laInformacion)
 {
     return(new ImpuestoRedondeado(laInformacion).ObtenerRendimientoPorDescuento());
 }
コード例 #9
0
ファイル: TasaBruta.cs プロジェクト: clongan/DAS
 public TasaBruta(LaInformacionDelRendimientoPorDescuento laInformacion, double diasAlVencimiento)
 {
     this.tasaDeImpuesto = laInformacion.tasaDeImpuesto;
     tasaNeta            = CalcularTasaNeta(laInformacion, diasAlVencimiento);
 }
コード例 #10
0
ファイル: TasaBruta.cs プロジェクト: clongan/DAS
 private double CalcularTasaNeta(LaInformacionDelRendimientoPorDescuento laInformacion, double diasAlVencimiento)
 {
     return(((laInformacion.valorFacial - laInformacion.valorTransadoNeto) / (laInformacion.valorTransadoNeto * (diasAlVencimiento / 365))) * 100);
 }
コード例 #11
0
 public ImpuestoConTratamientoFiscal(LaInformacionDelRendimientoPorDescuento laInformacion)
 {
     // TODO: 2 PUNTOS
     this.valorTransadoNeto = laInformacion.valorTransadoNeto;
     valorTransadoBruto     = new ValorTransadoBruto(laInformacion).ObtenerValorTransadoBruto();
 }
コード例 #12
0
ファイル: ImpuestoRedondeado.cs プロジェクト: clongan/DAS
 public ImpuestoRedondeado(LaInformacionDelRendimientoPorDescuento laInformacion)
 {
     impuesto = ObtenerImpuestoSinRedondeo(laInformacion);
 }