Beispiel #1
0
        public void EnDias_DosFechas_DiferenciaEnDias()
        {
            elResultadoEsperado = 157;

            losDatos             = new DatosDeValoracion();
            losDatos.FechaActual = new DateTime(2016, 1, 1);
            losDatos.FechaDeVencimientoDelValorOficial = new DateTime(2016, 6, 6);
            elResultadoObtenido = new PlazoAlVencimiento(losDatos).EnDias();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Beispiel #2
0
        public void ComoNumero_TipoDeCambioNoDefinidoParaHoy_MontoColonizadoConTipoDeCambioDeAyer()
        {
            elResultadoEsperado = 745000;

            losDatos = new DatosDeValoracion();
            losDatos.MontoNominalDelSaldo   = 1000;
            losDatos.TipoDeCambioUDESDeHoy  = 0;
            losDatos.TipoDeCambioUDESDeAyer = 745;
            elResultadoObtenido             = new SaldoColonizado(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Beispiel #3
0
        public void ComoNumero_PlazoMenorAlPermitido_Cero()
        {
            elResultadoEsperado = 0M;

            losDatos             = new DatosDeValoracion();
            losDatos.FechaActual = new DateTime(2016, 1, 1);
            losDatos.FechaDeVencimientoDelValorOficial = new DateTime(2016, 1, 7);
            losDatos.DiasMinimosAlVencimientoDelEmisor = 7;
            losDatos.PorcentajeCobertura = 0.8M;
            elResultadoObtenido          = new PorcentajeDeCoberturaRevisado(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Beispiel #4
0
        public void ComoNumero_SaldoEnUdesYNoAnotadoEnCuenta_MontoNominalColonizado()
        {
            elResultadoEsperado = 1000;

            losDatos = new DatosDeValoracion();
            losDatos.TipoDeMoneda             = Monedas.UDES;
            losDatos.MontoNominalDelSaldo     = 1000;
            losDatos.SaldoEstaAnotadoEnCuenta = false;
            losDatos.TipoDeCambioUDESDeHoy    = 750;
            losDatos.TipoDeCambioUDESDeAyer   = 745;
            elResultadoObtenido = losDatos.MontoConvertido;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Beispiel #5
0
        public void ComoNumero_SaldoEnColonesAnotadoEnCuenta_MontoNominalDelSaldoSinColonizar()
        {
            elResultadoEsperado = 3578000;

            losDatos = new DatosDeValoracion();
            losDatos.TipoDeMoneda             = Monedas.Colon;
            losDatos.MontoNominalDelSaldo     = 3578000;
            losDatos.SaldoEstaAnotadoEnCuenta = true;
            losDatos.TipoDeCambioUDESDeHoy    = 750;
            losDatos.TipoDeCambioUDESDeAyer   = 745;
            elResultadoObtenido = losDatos.MontoConvertido;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Beispiel #6
0
        public void ComoNumero_Valores_ValoracionCalculada()
        {
            elResultadoEsperado = 2862400.0M;

            losDatos = new DatosDeValoracion();
            losDatos.PrecioLimpioDelVectorDePrecios = 80;
            losDatos.TipoDeMoneda             = Monedas.Colon;
            losDatos.MontoNominalDelSaldo     = 3578000;
            losDatos.SaldoEstaAnotadoEnCuenta = true;
            losDatos.TipoDeCambioUDESDeHoy    = 750;
            losDatos.TipoDeCambioUDESDeAyer   = 745;
            elResultadoObtenido = new ValorDeMercado(losDatos).ComoNumero();

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
Beispiel #7
0
 public ValoracionPorISIN UnaValoracionEnColonesYCumpleLosDiasMinimos()
 {
     losDatos             = new DatosDeValoracion();
     losDatos.ISIN        = "HDA000000000001";
     losDatos.FechaActual = new DateTime(2016, 1, 1);
     losDatos.FechaDeVencimientoDelValorOficial = new DateTime(2016, 6, 6);;
     losDatos.DiasMinimosAlVencimientoDelEmisor = 7;
     losDatos.PorcentajeCobertura            = 0.8M;
     losDatos.PrecioLimpioDelVectorDePrecios = 80;
     losDatos.TipoDeMoneda             = Monedas.Colon;
     losDatos.SaldoEstaAnotadoEnCuenta = true;
     losDatos.MontoNominalDelSaldo     = 3578000;
     losDatos.TipoDeCambioUDESDeHoy    = 750;
     losDatos.TipoDeCambioUDESDeAyer   = 745;
     return(new ValoracionPorISIN(losDatos));
 }
Beispiel #8
0
 public PorcentajeDeCoberturaRevisado(DatosDeValoracion losDatos)
 {
     losDiasMinimosAlVencimientoDelEmisor = losDatos.DiasMinimosAlVencimientoDelEmisor;
     elPorcentajeCobertura = losDatos.PorcentajeCobertura;
     losDiasAlVencimiento  = new PlazoAlVencimiento(losDatos).EnDias();
 }
Beispiel #9
0
 public ValorDeMercado(DatosDeValoracion losDatos)
 {
     elPrecioLimpioDelVectorDePrecios = losDatos.PrecioLimpioDelVectorDePrecios;
     elMontoConvertido = new MontoConvertido(losDatos).ComoNumero();
 }
Beispiel #10
0
 public MontoConvertido(DatosDeValoracion losDatos)
 {
     elSaldoSeDebeColonizar = ElSaldoEstaEnUdesYEstaAnotadoEnCuenta(losDatos);
     this.losDatos          = losDatos;
 }
Beispiel #11
0
 private static bool ElSaldoEstaEnUdesYEstaAnotadoEnCuenta(DatosDeValoracion losDatos)
 {
     // TODO: mas de una operacion
     return(losDatos.TipoDeMoneda == Monedas.UDES & losDatos.SaldoEstaAnotadoEnCuenta);
 }