public Criterio ObtenerCriterio() { Criterio criterio; if ("menor".Equals(modo)) criterio = new CriterioMenorMonto(criterios); else criterio = new CriterioMayorMonto(criterios); return new CriterioActualizadorDeHistorialAdapter(criterio); }
public void NoReintegraPorExcederCantidadMensualAunqueMontoAlcance() { contexto.DefinirBuscadorDeHistorial((periodo) => new Historial(2, 400m)); Criterio criterioConjunto = new CriterioMenorMonto( new CriterioMontoAcumuladoEnPeriodo(600m, unMes), new CriterioCantidadAcumuladaEnPeriodo(2, unMes) ); var reintegro = criterioConjunto.Calcular(contexto, new Concepto(200m)); Assert.That(reintegro, Is.EqualTo(0)); }
public void NoReintegroPorAnteojosEnAñoCalendario() { contexto.DefinirBuscadorDeHistorial((periodo) => new Historial(2, 500m)); Criterio criterioConjunto = new CriterioMenorMonto( new CriterioMontoAcumuladoEnAnioCalendario(600m), new CriterioCantidadAcumuladaEnAnioCalendario(2) ); var adapter = new CriterioActualizadorDeHistorialAdapter(criterioConjunto); var reintegro = adapter.Calcular(contexto, new Concepto(300m)); Assert.That(reintegro, Is.EqualTo(0m)); }
public void DebeAcumularReintegrosEnHistorialYTomarlosEnCuentaEnOtroCalculo() { contexto.DefinirBuscadorDeHistorial((periodo) => new Historial(1, 400m)); Criterio criterioConjunto = new CriterioMenorMonto( new CriterioMontoAcumuladoEnPeriodo(600m, unMes), new CriterioCantidadAcumuladaEnPeriodo(2, unMes) ); var adapter = new CriterioActualizadorDeHistorialAdapter(criterioConjunto); var reintegro1 = adapter.Calcular(contexto, new Concepto(200m)); var reintegro2 = adapter.Calcular(contexto, new Concepto(200m)); Assert.That(reintegro1, Is.EqualTo(200m)); Assert.That(reintegro2, Is.EqualTo(0m)); }
public void ReintegroAlquilerAndadorConAsiento3Meses50PeXMesAlternativo() { contexto.DefinirBuscadorDeHistorial((periodo) => new Historial(0, 0m)); Criterio criterioConjunto = new CriterioMenorMonto( new CriterioMontoAcumuladoEnPeriodo(50m, unMes), new CriterioCantidadAcumuladaEnPeriodo(3, todaLaVida) ); var adapter = new CriterioActualizadorDeHistorialAdapter(criterioConjunto); var reintegro1 = adapter.Calcular(contexto, new Concepto(10m)); var reintegro2 = adapter.Calcular(contexto, new Concepto(10m)); var reintegro3 = adapter.Calcular(contexto, new Concepto(10m)); var reintegro4 = adapter.Calcular(contexto, new Concepto(10m)); Assert.That(reintegro1, Is.EqualTo(10m)); Assert.That(reintegro2, Is.EqualTo(10m)); Assert.That(reintegro3, Is.EqualTo(10m)); Assert.That(reintegro4, Is.EqualTo(0m)); }