public static double GenereElImpuesto(DatosDeRendimiento losDatos) { // TODO: Arreglar if (losDatos.TieneTratamientoFiscal) { return(new ImpuestoRedondeado(losDatos).ConCuatroDecimales()); } else { return(0); } }
public void EnDias_DosFechas_DiferenciaEnDias() { elResultadoEsperado = 221; losDatos = new DatosDeRendimiento { FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3) }; elResultadoObtenido = new PlazoDeVencimiento(losDatos).EnDias(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void ComoUnNumero_CalculaValorTransadoBrutoConTratamiento() { elResultadoEsperado = 298378.378378378; losDatos = new DatosDeRendimiento { 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); }
public void ComoNumero_ValoresDeEntrada_ImpuestoCorrecto() { elResultadoEsperado = 1621.6216216216562; losDatos = new DatosDeRendimiento { ValorFacial = 320000, ValorTransadoNeto = 300000, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = true }; elResultadoObtenido = new Impuesto(losDatos).ComoNumero(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void GenereElImpuesto_NoTieneTratamientoFiscal_EsCero() { elResultadoEsperado = 0; losDatos = new DatosDeRendimiento { ValorFacial = 320500, ValorTransadoNeto = 300000, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = false }; elResultadoObtenido = Calculos.GenereElImpuesto(losDatos); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void GenereElImpuesto_TieneTratamientoFiscalYSeRedondea_RedondeoHaciaArriba() { elResultadoEsperado = 1659.3592; losDatos = new DatosDeRendimiento { ValorFacial = 320500, ValorTransadoNeto = 300000, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = true }; elResultadoObtenido = Calculos.GenereElImpuesto(losDatos); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void ConCuatroDecimales_ValoresDeEntrada_ImpuestoRedondeadoA4Decimales() { elResultadoEsperado = 1621.6216; losDatos = new DatosDeRendimiento { ValorFacial = 320000, ValorTransadoNeto = 300000, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = true }; elResultadoObtenido = new ImpuestoRedondeado(losDatos).ConCuatroDecimales(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void GenereElRendimientosPorDescuento_NoTieneTratamientoFiscal_SinRedondeo() { elResultadoEsperado = 19999.9999; losDatos = new DatosDeRendimiento { ValorFacial = 320000, ValorTransadoNeto = 300000.0001, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = false }; elResultadoObtenido = new RendimientoPorDescuentoRedondeado(losDatos).ConCuatroDecimales(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void GenereElRendimientosPorDescuento_TieneTratamientoFiscalYSeDebeRedondear_RedondeaHaciaAbajo() { elResultadoEsperado = 22159.3592; losDatos = new DatosDeRendimiento { ValorFacial = 320500, ValorTransadoNeto = 300000, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = true }; elResultadoObtenido = new RendimientoPorDescuentoRedondeado(losDatos).ConCuatroDecimales(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public void ComoNumero_SinTratamientoFiscal_RendimientoPorDescuentoCorrecto() { elResultadoEsperado = 19999.999899999995; losDatos = new DatosDeRendimiento { ValorFacial = 320000.0, ValorTransadoNeto = 300000.0001, TasaDeImpuesto = 0.08, FechaDeVencimiento = new DateTime(2016, 10, 10), FechaActual = new DateTime(2016, 3, 3), TieneTratamientoFiscal = false }; elResultadoObtenido = new RendimientoPorDescuento(losDatos).ComoNumero(); Assert.AreEqual(elResultadoEsperado, elResultadoObtenido); }
public ImpuestoRedondeado(DatosDeRendimiento losDatos) { elImpuesto = new Impuesto(losDatos).ComoNumero(); }
public Impuesto(DatosDeRendimiento losDatos) { elValorTransadoNeto = losDatos.ValorTransadoNeto; elValorTransadoBruto = new ValorTransadoBruto(losDatos).ComoNumero(); }
public RendimientoPorDescuento(DatosDeRendimiento losDatos) { elValorFacial = losDatos.ValorFacial; elValorTransadoBruto = losDatos.ValorTransadoBruto; }
public static double GenereElImpuesto(DatosDeRendimiento losDatos) { return(losDatos.Impuesto); }