Exemplo n.º 1
0
    def test_lapso_se_instancia_bien(self):
        desde = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        hasta = FechaYHora(date(2014, 9, 22), time(10, 45, 50))
        lapso = Rango(desde, hasta)

        self.assertEqual(desde, lapso.desde())
        self.assertEqual(hasta, lapso.hasta())
Exemplo n.º 2
0
    def test_pronosticoMeteorologico_se_parsea(self):
        s = ("2014-09-27 11:00:0.0\n"
             "2014-09-27 11:59:59.0\n"
             "20\n"
             "55\n"
             "60\n"
             "1010\n"
             "2014-09-27 12:00:00.0\n"
             "2014-09-27 12:59:59.0\n"
             "25\n"
             "50\n"
             "65\n"
             "1020\n")

        result = ParserPronosticoMeteorologico().parse(s)

        prediccionesEsperadas = [
            PrediccionMeteorologica(
                Rango(FechaYHora(date(2014, 9, 27), time(11, 0, 0)),
                      FechaYHora(date(2014, 9, 27), time(11, 59, 59))),
                TemperaturaEnCelsius(20), Porcentaje(55),
                HumedadRelativa(Porcentaje(60)), LuzEnLux(1010)),
            PrediccionMeteorologica(
                Rango(FechaYHora(date(2014, 9, 27), time(12, 0, 0)),
                      FechaYHora(date(2014, 9, 27), time(12, 59, 59))),
                TemperaturaEnCelsius(25), Porcentaje(50),
                HumedadRelativa(Porcentaje(65)), LuzEnLux(1020)),
        ]
        expected = PronosticoMeteorologico(prediccionesEsperadas)

        self.assertEqual(expected, result)
    def test_central_meteorologica_devuelve_pronostico(self):
        desde = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        hasta = FechaYHora(date(2014, 9, 21), time(12, 45, 50))
        predictor = PredictorMeteorologicoMock(
            TemperaturaEnCelsius(25),
            Porcentaje(40),
            HumedadRelativa(Porcentaje(10)),
            LuzEnLux(800))

        central = CentralMeteorologica(predictor, None)

        self.assertIsNone(central.ultimoPronostico())

        pronostico = central.obtenerPronostico(desdeFechaYHora=desde, cantidadDeHs=2)

        self.assertEqual(desde, pronostico.fechaInicio())
        self.assertEqual(hasta, pronostico.fechaFin())

        prediccion1 = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 21), time(11, 40, 50)))
        self.assertEqual(Rango(desde, desde.agregarDuracion(DuracionEnHoras(1))),
                         prediccion1.lapso())
        self.assertEqual(TemperaturaEnCelsius(25), prediccion1.temperatura())
        self.assertEqual(Porcentaje(40), prediccion1.probabilidadDeLluvia())
        self.assertEqual(HumedadRelativa(Porcentaje(10)), prediccion1.humedad())
        self.assertEqual(LuzEnLux(800), prediccion1.luzAmbiente())

        prediccion2 = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 21), time(12, 40, 50)))
        self.assertEqual(Rango(desde.agregarDuracion(DuracionEnHoras(1)), hasta),
                         prediccion2.lapso())
        self.assertEqual(TemperaturaEnCelsius(25), prediccion2.temperatura())
        self.assertEqual(Porcentaje(40), prediccion2.probabilidadDeLluvia())
        self.assertEqual(HumedadRelativa(Porcentaje(10)), prediccion2.humedad())
        self.assertEqual(LuzEnLux(800), prediccion2.luzAmbiente())
Exemplo n.º 4
0
    def test_lapso_contiene_fechaYHora_contenida_en_el_lapso(self):
        desde = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        hasta = FechaYHora(date(2014, 9, 22), time(10, 45, 50))
        lapso = Rango(desde, hasta)

        unaFechaYHora = FechaYHora(date(2014, 9, 21), time(12, 45, 50))

        self.assertTrue(lapso.contiene(unaFechaYHora))
Exemplo n.º 5
0
    def test_dos_lapsos_iguales_son_iguales(self):
        desde1 = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        hasta1 = FechaYHora(date(2014, 9, 22), time(10, 45, 50))
        lapso1 = Rango(desde1, hasta1)

        desde2 = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        hasta2 = FechaYHora(date(2014, 9, 22), time(10, 45, 50))
        lapso2 = Rango(desde2, hasta2)

        self.assertTrue(lapso1 == lapso2)
    def test_prediccion_para_una_fecha_existente(self):
        pronostico = PronosticoMeteorologico(
            [self.prediccion1, self.prediccion2])

        prediccion = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 21), time(11, 0, 0)))
        self.assertEqual(self.prediccion1, prediccion)

        prediccion = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 20), time(12, 0, 0)))
        self.assertEqual(self.prediccion2, prediccion)
Exemplo n.º 7
0
    def _shift(self, duracionRelativaCero, ahora):
        """computa una fechaYHora a partir de una duración relativa a las cero
        horas del día indicado por 'ahora', pero asegurando que
        si el resultado cayera el día anterior, se desplaza para la
        misma hora pero del día siguiente.

        """
        cero = FechaYHora(ahora.fecha(), time(0, 0, 0))
        ajustada = cero.agregarDuracion(duracionRelativaCero)
        if ajustada < ahora:
            ajustada = ajustada.agregarDuracion(DuracionEnHoras(24))
        return ajustada
Exemplo n.º 8
0
    def _shift(self, duracionRelativaCero, ahora):
        """computa una fechaYHora a partir de una duración relativa a las cero
        horas del día indicado por 'ahora', pero asegurando que
        si el resultado cayera el día anterior, se desplaza para la
        misma hora pero del día siguiente.

        """
        cero = FechaYHora(ahora.fecha(), time(0, 0, 0))
        ajustada = cero.agregarDuracion(duracionRelativaCero)
        if ajustada < ahora:
            ajustada = ajustada.agregarDuracion(DuracionEnHoras(24))
        return ajustada
    def test_prediccion_se_construye_correctamente(self):
        desde = FechaYHora(date(2014, 9, 20), time(10, 45, 50))
        hasta = FechaYHora(date(2014, 9, 20), time(13, 45, 50))
        prediccion = PrediccionMeteorologica(Rango(desde, hasta),
                                             TemperaturaEnCelsius(25),
                                             Porcentaje(40),
                                             HumedadRelativa(Porcentaje(10)),
                                             LuzEnLux(800))

        self.assertEqual(Rango(desde, hasta), prediccion.lapso())
        self.assertEqual(TemperaturaEnCelsius(25), prediccion.temperatura())
        self.assertEqual(Porcentaje(40), prediccion.probabilidadDeLluvia())
        self.assertEqual(HumedadRelativa(Porcentaje(10)), prediccion.humedad())
        self.assertEqual(LuzEnLux(800), prediccion.luzAmbiente())
    def setUp(self):
        self.desdeLapso1 = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        self.hastaLapso1 = FechaYHora(date(2014, 9, 21), time(13, 45, 50))
        self.desdeLapso2 = FechaYHora(date(2014, 9, 20), time(10, 45, 50))
        self.hastaLapso2 = FechaYHora(date(2014, 9, 20), time(13, 45, 50))

        self.prediccion1 = PrediccionMeteorologica(
            Rango(self.desdeLapso1, self.hastaLapso1),
            TemperaturaEnCelsius(20), Porcentaje(80),
            HumedadRelativa(Porcentaje(50)), LuzEnLux(1000))
        self.prediccion2 = PrediccionMeteorologica(
            Rango(self.desdeLapso2, self.hastaLapso2),
            TemperaturaEnCelsius(25), Porcentaje(40),
            HumedadRelativa(Porcentaje(10)), LuzEnLux(800))
Exemplo n.º 11
0
def demo():
    ahora = FechaYHora(date(1998, 7, 10), time(17, 0, 0))  # modificar a gusto!

    class CentralMeteorologicaMock:

        def __init__(self, fechaYHora=ahora):
            self.redefinirFechaYHora(fechaYHora)

        def redefinirFechaYHora(self, FechaYHora):
            self._ahora = FechaYHora

        def obtenerFechaYHora(self):
            return self._ahora

    def mostrar(gps, cm):
        print("==== Programa de Suministro ====")
        print("A partir de fecha/hora : %s" % cm.obtenerFechaYHora())
        aps = programa.accionesProgramadas()
        for ap in aps:
            fh = ap.fechaYHora()
            print("%s : %s %s" % (fh.fecha(), fh.hora(), ap.accion().nombre()))
        print("%d acciones en total" % len(aps))

    cm = CentralMeteorologicaMock()

    programa = ProgramaDeSuministro(
        Rango(ahora, ahora.agregarDuracion(DuracionEnHoras(24))))

    gps = GeneradorDeProgramaDeSuministroFijo24(
        planMaestro=None, estadoDePlanta=None,
        centralMeteorologica=cm,
        programaDeSuministro=programa)

    gps.generar()
    mostrar(gps, cm)
    cm.redefinirFechaYHora(ahora.agregarDuracion(DuracionEnMinutos(60 * 10 + 15)))
    gps.generar()
    mostrar(gps, cm)
Exemplo n.º 12
0
def demo():
    ahora = FechaYHora(date(1998, 7, 10), time(17, 0, 0))  # modificar a gusto!

    class CentralMeteorologicaMock:
        def __init__(self, fechaYHora=ahora):
            self.redefinirFechaYHora(fechaYHora)

        def redefinirFechaYHora(self, FechaYHora):
            self._ahora = FechaYHora

        def obtenerFechaYHora(self):
            return self._ahora

    def mostrar(gps, cm):
        print("==== Programa de Suministro ====")
        print("A partir de fecha/hora : %s" % cm.obtenerFechaYHora())
        aps = programa.accionesProgramadas()
        for ap in aps:
            fh = ap.fechaYHora()
            print("%s : %s %s" % (fh.fecha(), fh.hora(), ap.accion().nombre()))
        print("%d acciones en total" % len(aps))

    cm = CentralMeteorologicaMock()

    programa = ProgramaDeSuministro(
        Rango(ahora, ahora.agregarDuracion(DuracionEnHoras(24))))

    gps = GeneradorDeProgramaDeSuministroFijo24(planMaestro=None,
                                                estadoDePlanta=None,
                                                centralMeteorologica=cm,
                                                programaDeSuministro=programa)

    gps.generar()
    mostrar(gps, cm)
    cm.redefinirFechaYHora(
        ahora.agregarDuracion(DuracionEnMinutos(60 * 10 + 15)))
    gps.generar()
    mostrar(gps, cm)
Exemplo n.º 13
0
    def test_comparacion_por_menor_es_correcta(self):
        unaFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 55))
        otraFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 50))
        self.assertLess(otraFecha, unaFecha)

        unaFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 50))
        otraFecha = FechaYHora(date(2014, 9, 20), time(10, 45, 50))
        self.assertLess(otraFecha, unaFecha)

        unaFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 55))
        otraFecha = FechaYHora(date(2014, 9, 20), time(10, 45, 50))
        self.assertLess(otraFecha, unaFecha)

        unaFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 55))
        otraFecha = FechaYHora(date(2014, 9, 20), time(13, 45, 55))
        self.assertLess(otraFecha, unaFecha)
Exemplo n.º 14
0
def main(argv):
    cmd = None

    try:
        opts, args = getopt.getopt(argv, "hc:")
    except getopt.GetoptError:
        mensajeAyuda()
        sys.exit()

    for opt, arg in opts:
        if opt == '-c' and arg in comandosValidos:
            cmd = arg
        else:
            mensajeAyuda()
            sys.exit()

    if cmd is None:
        mensajeAyuda()
        sys.exit()

    predictor = PredictorMeteorologicoPorArchivo(
        DispositivoDeLecturaArchivo("devices/pronostico"))
    reloj = ProveedorDeTiempoPorArchivo(
        DispositivoDeLecturaArchivo("devices/tiempo"))
    central = CentralMeteorologica(predictor, reloj)

    if cmd == 'pronostico':
        horas = 24
        desdeFechaYHora = FechaYHora(datetime.date(2014, 9, 27),
                                     datetime.time(11, 0, 0))
        pronostico = central.obtenerPronostico(desdeFechaYHora, horas)
        t = desdeFechaYHora
        for _ in range(0, horas):
            p = pronostico.prediccionPara(t)
            print(('El pronóstico para {4} es: \n'
                   'Temperatura: {0}, Humedad: {1}, '
                   'Prob. de lluvia: {2}, Luz ambiente: {3}')
                  .format(p.temperatura(),
                          p.humedad(),
                          p.probabilidadDeLluvia(),
                          p.luzAmbiente(), p.lapso()))
            t = t.agregarHoras(1)
    elif cmd == 'sensores':     # TODO
        print("No implementado.")
    elif cmd == 'tiempo':
        t = central.obtenerFechaYHora()
        print(t)
    def test_central_meteorologica_devuelve_pronostico(self):
        desde = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
        hasta = FechaYHora(date(2014, 9, 21), time(12, 45, 50))
        predictor = PredictorMeteorologicoMock(TemperaturaEnCelsius(25),
                                               Porcentaje(40),
                                               HumedadRelativa(Porcentaje(10)),
                                               LuzEnLux(800))

        central = CentralMeteorologica(predictor, None)

        self.assertIsNone(central.ultimoPronostico())

        pronostico = central.obtenerPronostico(desdeFechaYHora=desde,
                                               cantidadDeHs=2)

        self.assertEqual(desde, pronostico.fechaInicio())
        self.assertEqual(hasta, pronostico.fechaFin())

        prediccion1 = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 21), time(11, 40, 50)))
        self.assertEqual(
            Rango(desde, desde.agregarDuracion(DuracionEnHoras(1))),
            prediccion1.lapso())
        self.assertEqual(TemperaturaEnCelsius(25), prediccion1.temperatura())
        self.assertEqual(Porcentaje(40), prediccion1.probabilidadDeLluvia())
        self.assertEqual(HumedadRelativa(Porcentaje(10)),
                         prediccion1.humedad())
        self.assertEqual(LuzEnLux(800), prediccion1.luzAmbiente())

        prediccion2 = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 21), time(12, 40, 50)))
        self.assertEqual(
            Rango(desde.agregarDuracion(DuracionEnHoras(1)), hasta),
            prediccion2.lapso())
        self.assertEqual(TemperaturaEnCelsius(25), prediccion2.temperatura())
        self.assertEqual(Porcentaje(40), prediccion2.probabilidadDeLluvia())
        self.assertEqual(HumedadRelativa(Porcentaje(10)),
                         prediccion2.humedad())
        self.assertEqual(LuzEnLux(800), prediccion2.luzAmbiente())
    def test_prediccion_para_una_fecha_no_existente(self):
        pronostico = PronosticoMeteorologico(
            [self.prediccion1, self.prediccion2])

        prediccion = pronostico.prediccionPara(
            FechaYHora(date(2014, 9, 25), time(11, 0, 0)))
Exemplo n.º 17
0
    def test_fechaYHora_se_instancia_bien(self):
        fechaYHora = FechaYHora(date(2014, 9, 21), time(10, 45, 50))

        self.assertEqual(date(2014, 9, 21), fechaYHora.fecha())
        self.assertEqual(time(10, 45, 50), fechaYHora.hora())
Exemplo n.º 18
0
    def test_planificador_planifica_ejecucion_hora_por_hora(self):
        hora = FechaYHora(date(1998, 7, 10), time(17, 0, 0))
        kit = KitEjecucion()

        # inicializamos un programa de suministro vacío
        programa = ProgramaDeSuministro(
            Rango(hora, hora.agregarDuracion(DuracionEnHoras(3))))

        # programamos las acciones que entran en la primer hora
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(15)),
                                 AccionRegado(LiquidoEnMililitros(200)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(20)),
                                 AccionLuz(LuzEnLux(800)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(35)),
                                 AccionFertilizante(LiquidoEnMililitros(100)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(40)),
                                 AccionRegado(LiquidoEnMililitros(20)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(50)),
                                 AccionAntibiotico(LiquidoEnMililitros(10)))
        # programamos las acciones que entran en la segunda hora
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(75)),
                                 AccionRegado(LiquidoEnMililitros(100)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(90)),
                                 AccionLuz(LuzEnLux(500)))
        # programamos las acciones que entran en la tercer hora
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(130)),
                                 AccionAntibiotico(LiquidoEnMililitros(10)))

        # ok, está cargado el programa. Creamos entonces el
        # planificador, lo configuramos para que ejecute sobre el kit
        # con el programa dado a intervalos de una hora. Obviamente no
        # hay temporizadores acá así que vamos a llamarlo manualmente
        # por cada hora.

        planificador = PlanificadorDeEjecucion(DuracionEnHoras(1), programa,
                                               kit.ejecutor)

        # WARNING. los números están clavados. si se cambian arriba,
        # deben cambiarse acá abajo (sumando todo con cuidado).

        # ejecutamos la primer hora
        cuantasAntes = len(programa.accionesProgramadas())
        planificador.planificarAcciones(hora)
        self.assertEqual(kit.fertilizante(), 100)
        self.assertEqual(kit.luz(), 800)
        self.assertEqual(kit.agua(), 220)
        self.assertEqual(kit.antibiotico(), 10)
        cuantasDespues = len(programa.accionesProgramadas())
        self.assertEqual(cuantasAntes - cuantasDespues, 5)

        # ejecutamos la segunda hora
        cuantasAntes = len(programa.accionesProgramadas())
        planificador.planificarAcciones(
            hora.agregarDuracion(DuracionEnHoras(1)))
        self.assertEqual(kit.fertilizante(), 100 + 0)
        self.assertEqual(kit.luz(), 800 + 500)
        self.assertEqual(kit.agua(), 220 + 100)
        self.assertEqual(kit.antibiotico(), 10 + 0)
        cuantasDespues = len(programa.accionesProgramadas())
        self.assertEqual(cuantasAntes - cuantasDespues, 2)

        # ejecutamos la tercer hora
        cuantasAntes = len(programa.accionesProgramadas())
        planificador.planificarAcciones(
            hora.agregarDuracion(DuracionEnHoras(2)))
        self.assertEqual(kit.fertilizante(), 100 + 0 + 0)
        self.assertEqual(kit.luz(), 800 + 500 + 0)
        self.assertEqual(kit.agua(), 220 + 100 + 0)
        self.assertEqual(kit.antibiotico(), 10 + 0 + 10)
        cuantasDespues = len(programa.accionesProgramadas())
        self.assertEqual(cuantasAntes - cuantasDespues, 1)

        # verificamos que el programa esté vacío
        self.assertEqual(programa.accionesProgramadas(), [])
Exemplo n.º 19
0
 def parse(self, unaCadena):
     fecha = datetime.datetime.strptime(unaCadena.split()[0],
                                        "%Y-%m-%d").date()
     hora = datetime.datetime.strptime(unaCadena.split()[1],
                                       "%H:%M:%S.%f").time()
     return FechaYHora(fecha, hora)
 def test_central_meteorologica_devuelve_fechaYHora(self):
     fechaYHora = FechaYHora(date(2014, 9, 21), time(10, 45, 50))
     proveedorDeTiempo = ProveedorDeTiempoMock(fechaYHora)
     central = CentralMeteorologica(None, proveedorDeTiempo)
     self.assertEqual(fechaYHora, central.obtenerFechaYHora())
Exemplo n.º 21
0
    def test_planificador_planifica_ejecucion_hora_por_hora(self):
        hora = FechaYHora(date(1998, 7, 10), time(17, 0, 0))
        kit = KitEjecucion()

        # inicializamos un programa de suministro vacío
        programa = ProgramaDeSuministro(
            Rango(hora, hora.agregarDuracion(DuracionEnHoras(3))))

        # programamos las acciones que entran en la primer hora
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(15)),
                                 AccionRegado(LiquidoEnMililitros(200)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(20)),
                                 AccionLuz(LuzEnLux(800)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(35)),
                                 AccionFertilizante(LiquidoEnMililitros(100)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(40)),
                                 AccionRegado(LiquidoEnMililitros(20)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(50)),
                                 AccionAntibiotico(LiquidoEnMililitros(10)))
        # programamos las acciones que entran en la segunda hora
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(75)),
                                 AccionRegado(LiquidoEnMililitros(100)))
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(90)),
                                 AccionLuz(LuzEnLux(500)))
        # programamos las acciones que entran en la tercer hora
        programa.programarAccion(hora.agregarDuracion(DuracionEnMinutos(130)),
                                 AccionAntibiotico(LiquidoEnMililitros(10)))

        # ok, está cargado el programa. Creamos entonces el
        # planificador, lo configuramos para que ejecute sobre el kit
        # con el programa dado a intervalos de una hora. Obviamente no
        # hay temporizadores acá así que vamos a llamarlo manualmente
        # por cada hora.

        planificador = PlanificadorDeEjecucion(
            DuracionEnHoras(1), programa, kit.ejecutor)

        # WARNING. los números están clavados. si se cambian arriba,
        # deben cambiarse acá abajo (sumando todo con cuidado).

        # ejecutamos la primer hora
        cuantasAntes = len(programa.accionesProgramadas())
        planificador.planificarAcciones(hora)
        self.assertEqual(kit.fertilizante(), 100)
        self.assertEqual(kit.luz(), 800)
        self.assertEqual(kit.agua(), 220)
        self.assertEqual(kit.antibiotico(), 10)
        cuantasDespues = len(programa.accionesProgramadas())
        self.assertEqual(cuantasAntes - cuantasDespues, 5)

        # ejecutamos la segunda hora
        cuantasAntes = len(programa.accionesProgramadas())
        planificador.planificarAcciones(hora.agregarDuracion(DuracionEnHoras(1)))
        self.assertEqual(kit.fertilizante(), 100 + 0)
        self.assertEqual(kit.luz(), 800 + 500)
        self.assertEqual(kit.agua(), 220 + 100)
        self.assertEqual(kit.antibiotico(), 10 + 0)
        cuantasDespues = len(programa.accionesProgramadas())
        self.assertEqual(cuantasAntes - cuantasDespues, 2)

        # ejecutamos la tercer hora
        cuantasAntes = len(programa.accionesProgramadas())
        planificador.planificarAcciones(hora.agregarDuracion(DuracionEnHoras(2)))
        self.assertEqual(kit.fertilizante(), 100 + 0 + 0)
        self.assertEqual(kit.luz(), 800 + 500 + 0)
        self.assertEqual(kit.agua(), 220 + 100 + 0)
        self.assertEqual(kit.antibiotico(), 10 + 0 + 10)
        cuantasDespues = len(programa.accionesProgramadas())
        self.assertEqual(cuantasAntes - cuantasDespues, 1)

        # verificamos que el programa esté vacío
        self.assertEqual(programa.accionesProgramadas(), [])
Exemplo n.º 22
0
 def test_fechaYHora_se_parsea(self):
     s = '2014-09-27 11:18:31.0'
     result = CadenaAFechaYHora().parse(s)
     self.assertEqual(FechaYHora(date(2014, 9, 27), time(11, 18, 31)),
                      result)
Exemplo n.º 23
0
    def test_fechaYHora_se_instancia_bien(self):
        fechaYHora = FechaYHora(date(2014, 9, 21), time(10, 45, 50))

        self.assertEqual(date(2014, 9, 21), fechaYHora.fecha())
        self.assertEqual(time(10, 45, 50), fechaYHora.hora())
Exemplo n.º 24
0
def diaN(n):
    # contando desde 0
    return FechaYHora(_dia0 + timedelta(days=n), _hora)
Exemplo n.º 25
0
    def test_dos_instancias_con_horas_no_iguales_no_son_iguales(self):
        unaFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 55))
        otraFecha = FechaYHora(date(2014, 9, 22), time(10, 45, 50))

        self.assertNotEqual(unaFecha, otraFecha)