Example #1
0
 def test_reserva_6_dias_misma_hora(self): # Normal TDD
     e=self.crear_estacionamiento(2)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[1440 for i in range(7)]
     lista_valores[0]=0
     lista_valores[1]=0
     lista_valores[2]=18*60
     lista_valores[6]=6*60
     salida=dict(zip(lista_fechas,lista_valores))
     Reserva(estacionamiento= e,inicioReserva=ahora.replace(hour=6)+timedelta(2),finalReserva=ahora.replace(hour=6)+timedelta(6)).save()
     x=tasa_reservaciones(e.id)
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #2
0
 def test_reserva_6_dias_misma_hora(self): # Normal TDD
     e=self.crear_estacionamiento(2)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[1440 for i in range(7)]
     lista_valores[0]=0
     lista_valores[1]=0
     lista_valores[2]=18*60
     lista_valores[6]=6*60
     salida=dict(zip(lista_fechas,lista_valores))
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Moto",
             estacionamiento= e,inicioReserva=ahora.replace(hour=6)+timedelta(2),finalReserva=ahora.replace(hour=6)+timedelta(6)).save()
     x=tasa_reservaciones(e.id, 'Moto')
     self.assertEqual(tasa_reservaciones(e.id, 'Moto'),salida)
 def test_reservaciones_de_una_hora_24_horas(self): # Esquina
     CAPACIDAD = 10
     HORAS_SEMANA = 168
     UNA_HORA = timedelta(hours=1)
     ahora = datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     n = CAPACIDAD
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     for i in range(CAPACIDAD):
         hora_reserva = ahora
         for j in range(HORAS_SEMANA):
             if j!=HORAS_SEMANA-1:
                 Reserva(estacionamiento=e,inicioReserva=hora_reserva,finalReserva=hora_reserva+UNA_HORA, tipo_puesto = 'Particular').save()
             else:
                 Reserva(estacionamiento=e,inicioReserva=hora_reserva,finalReserva=hora_reserva+timedelta(minutes=59), tipo_puesto = 'Particular').save()
             hora_reserva += UNA_HORA
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*CAPACIDAD*24 for i in range(7)]
     lista_valores[6]=60*CAPACIDAD*24-CAPACIDAD
     salida=dict(zip(lista_fechas,lista_valores))
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_reservaciones_de_una_hora_24_horas(self):  # Esquina
     CAPACIDAD = 10
     HORAS_SEMANA = 168
     UNA_HORA = timedelta(hours=1)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     e = self.crear_estacionamiento(CAPACIDAD)
     for i in range(CAPACIDAD):
         hora_reserva = ahora
         for j in range(HORAS_SEMANA):
             if j != HORAS_SEMANA - 1:
                 Reserva(estacionamiento=e,
                         inicioReserva=hora_reserva,
                         finalReserva=hora_reserva + UNA_HORA).save()
             else:
                 Reserva(estacionamiento=e,
                         inicioReserva=hora_reserva,
                         finalReserva=hora_reserva +
                         timedelta(minutes=59)).save()
             hora_reserva += UNA_HORA
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [60 * CAPACIDAD * 24 for i in range(7)]
     lista_valores[6] = 60 * CAPACIDAD * 24 - CAPACIDAD
     salida = dict(zip(lista_fechas, lista_valores))
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #5
0
 def test_reservaciones_de_una_hora_6_a_18_horas(self):  # Esquina
     CAPACIDAD = 10
     HORAS_DIA = 12
     UNA_HORA = timedelta(hours=1)
     ahora = datetime.now().replace(hour=6,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     n = CAPACIDAD
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p, time(6, 0), time(18, 0))
     for i in range(CAPACIDAD):
         hora_reserva = ahora
         for j in range(7):
             for k in range(HORAS_DIA):
                 Reserva(estacionamiento=e,
                         inicioReserva=hora_reserva,
                         finalReserva=hora_reserva + UNA_HORA,
                         tipo_puesto='Particular').save()
                 hora_reserva += UNA_HORA
             hora_reserva = ahora + timedelta(j + 1)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [60 * CAPACIDAD * HORAS_DIA for i in range(7)]
     salida = dict(zip(lista_fechas, lista_valores))
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #6
0
 def test_estacionamiento_sin_reservas(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now()
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     salida=dict(zip(lista_fechas,lista_valores))
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #7
0
 def test_estacionamiento_reserva_una_hora_cambio_fecha_mediaNoche(
         self):  # Esquina
     n = 1
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     lista_valores[1] = 45
     lista_valores[2] = 1
     salida = dict(zip(lista_fechas, lista_valores))
     fecha_inicio = (ahora + timedelta(1)).replace(hour=23,
                                                   minute=15,
                                                   second=0)
     fecha_fin = fecha_inicio + timedelta(minutes=46)
     Reserva(estacionamiento=e,
             inicioReserva=fecha_inicio,
             finalReserva=fecha_fin,
             tipo_puesto='Particular').save()
     x = tasa_reservaciones(e.id)
     self.assertEqual(x, salida)
Example #8
0
 def test_dos_reservaciones_mismo_dia(self): # Borde
     e=self.crear_estacionamiento(2)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=1440*2
     salida=dict(zip(lista_fechas,lista_valores))
     Reserva(estacionamiento= e,inicioReserva=ahora,finalReserva=ahora+timedelta(1)).save()
     Reserva(estacionamiento= e,inicioReserva=ahora,finalReserva=ahora+timedelta(1)).save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #9
0
 def test_estacionamiento_sin_reservas(self):  # Esquina
     n = 1
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now()
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     salida = dict(zip(lista_fechas, lista_valores))
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #10
0
 def test_estacionamiento_reserva_un_dia_sola_casilla_menos_un_minuto(self): # Normal TDD
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=60*24-1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora+timedelta(1)
     fecha_fin=ahora+timedelta(days=1,hours=23,minutes=59)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #11
0
 def test_reserva_inicio_antes_de_inicioVentana_fin_despues_inicioVentana(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora-timedelta(1)
     fecha_fin=ahora.replace(hour=0,minute=1)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_reserva_6_dias_misma_hora(self): # Normal TDD
     n = 2
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[1440 for i in range(7)]
     lista_valores[0]=0
     lista_valores[1]=0
     lista_valores[2]=18*60
     lista_valores[6]=6*60
     salida=dict(zip(lista_fechas,lista_valores))
     Reserva(estacionamiento= e,inicioReserva=ahora.replace(hour=6)+timedelta(2),finalReserva=ahora.replace(hour=6)+timedelta(6), tipo_puesto = 'Particular').save()
     x=tasa_reservaciones(e.id)
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #13
0
 def test_estacionamiento_reserva_una_hora_sin_cambio_fecha(self): # Normal TDD
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=60
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=(ahora+timedelta(1)).replace(hour=15,minute=15)
     fecha_fin=fecha_inicio.replace(hour=16,minute=15)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #14
0
 def test_estacionamiento_reserva_siete_dias(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*24 for i in range(7)]
     lista_valores[6]=60*24-1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora
     fecha_fin=ahora+timedelta(days=6,hours=23,minutes=59,seconds=0)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id,True),salida)
Example #15
0
 def test_reserva_inicio_antes_de_inicioVentana_fin_despues_inicioVentana(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora-timedelta(1)
     fecha_fin=ahora.replace(hour=0,minute=1)
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Liviano",estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id,"Liviano"),salida)
Example #16
0
 def test_estacionamiento_reserva_un_dia_sola_casilla_menos_un_minuto(self): # Normal TDD
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=60*24-1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora+timedelta(1)
     fecha_fin=ahora+timedelta(days=1,hours=23,minutes=59)
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Liviano",estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id, 'Liviano'),salida)
Example #17
0
 def test_estacionamiento_reserva_un_dia_dos_casillas(self): #Borde
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=780
     lista_valores[2]=660
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora+timedelta(days=1,hours=11)
     fecha_fin=ahora+timedelta(days=2,hours=11)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #18
0
 def test_estacionamiento_reserva_una_hora_cambio_fecha_mediaNoche(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=45
     lista_valores[2]=1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=(ahora+timedelta(1)).replace(hour=23,minute=15,second=0)
     fecha_fin=fecha_inicio+timedelta(minutes=46)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     x=tasa_reservaciones(e.id)
     self.assertEqual(x,salida)
Example #19
0
 def test_estacionamiento_reserva_una_hora_dos_puestos(self): # Borde
     e=self.crear_estacionamiento(2)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=90
     salida=dict(zip(lista_fechas,lista_valores))
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Moto",estacionamiento= e,inicioReserva=ahora,finalReserva=ahora+timedelta(seconds=2700)).save()
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Moto",
             estacionamiento= e,inicioReserva=ahora+timedelta(seconds=2700),finalReserva=ahora+timedelta(seconds=5400)).save()
     self.assertEqual(tasa_reservaciones(e.id, 'Moto'),salida)
Example #20
0
 def test_estacionamiento_reserva_siete_dias(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*24 for i in range(7)]
     lista_valores[6]=60*24-1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora
     fecha_fin=ahora+timedelta(days=6,hours=23,minutes=59,seconds=0)
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Liviano",
             estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     self.assertEqual(tasa_reservaciones(e.id,'Liviano', True),salida)
Example #21
0
 def test_reserva_6_dias_misma_hora(self):  # Normal TDD
     n = 2
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [1440 for i in range(7)]
     lista_valores[0] = 0
     lista_valores[1] = 0
     lista_valores[2] = 18 * 60
     lista_valores[6] = 6 * 60
     salida = dict(zip(lista_fechas, lista_valores))
     Reserva(estacionamiento=e,
             inicioReserva=ahora.replace(hour=6) + timedelta(2),
             finalReserva=ahora.replace(hour=6) + timedelta(6),
             tipo_puesto='Particular').save()
     x = tasa_reservaciones(e.id)
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #22
0
 def test_estacionamiento_reserva_una_hora_sin_cambio_fecha(self): # Normal TDD
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=60
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=(ahora+timedelta(1)).replace(hour=15,minute=15)
     fecha_fin=fecha_inicio.replace(hour=16,minute=15)
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             finalReserva=fecha_fin,estado = "Válido", tipo_vehiculo = "Liviano",
             estacionamiento= e,inicioReserva=fecha_inicio).save()
     
     self.assertEqual(tasa_reservaciones(e.id,'Liviano'),salida)
Example #23
0
 def test_estacionamiento_reserva_una_hora_cambio_fecha_mediaNoche(self): # Esquina
     e=self.crear_estacionamiento(1)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=45
     lista_valores[2]=1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=(ahora+timedelta(1)).replace(hour=23,minute=15,second=0)
     fecha_fin=fecha_inicio+timedelta(minutes=46)
     Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido", tipo_vehiculo = "Liviano",estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin).save()
     x=tasa_reservaciones(e.id, 'Liviano')
     self.assertEqual(x,salida)
 def test_estacionamiento_sin_reservas(self): # Esquina
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now()
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     salida=dict(zip(lista_fechas,lista_valores))
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_dos_reservaciones_mismo_dia(self): # Borde
     n = 2
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=1440*2
     salida=dict(zip(lista_fechas,lista_valores))
     Reserva(estacionamiento= e,inicioReserva=ahora,finalReserva=ahora+timedelta(1), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento= e,inicioReserva=ahora,finalReserva=ahora+timedelta(1), tipo_puesto = 'Particular').save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
Example #26
0
 def test_reservaciones_de_una_hora_6_a_18_horas(self): # Esquina
     CAPACIDAD = 10
     HORAS_DIA = 12
     UNA_HORA = timedelta(hours=1)
     ahora = datetime.now().replace(hour=6,minute=0,second=0,microsecond=0)
     e = self.crear_estacionamiento(CAPACIDAD,time(6,0),time(18,0))
     for i in range(CAPACIDAD):
         hora_reserva = ahora
         for j in range(7):
             for k in range(HORAS_DIA):
                 Reserva(estacionamiento=e,inicioReserva=hora_reserva,finalReserva=hora_reserva+UNA_HORA).save()
                 hora_reserva += UNA_HORA
             hora_reserva=ahora+timedelta(j+1)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*CAPACIDAD*HORAS_DIA for i in range(7)]
     salida=dict(zip(lista_fechas,lista_valores))
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_reserva_inicio_antes_de_inicioVentana_fin_despues_inicioVentana(self): # Esquina
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora-timedelta(1)
     fecha_fin=ahora.replace(hour=0,minute=1)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin, tipo_puesto = 'Particular').save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_estacionamiento_reserva_una_hora_sin_cambio_fecha(self): # Normal TDD
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now().replace(second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=60
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=(ahora+timedelta(1)).replace(hour=15,minute=15)
     fecha_fin=fecha_inicio.replace(hour=16,minute=15)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin, tipo_puesto = 'Particular').save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_estacionamiento_reserva_un_dia_sola_casilla(self): # Borde
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[1]=60*24
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora+timedelta(1)
     fecha_fin=ahora+timedelta(days=2)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin, tipo_puesto = 'Particular').save()
     self.assertEqual(tasa_reservaciones(e.id),salida)
 def test_estacionamiento_reserva_siete_dias(self): # Esquina
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p)
     ahora=datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*24 for i in range(7)]
     lista_valores[6]=60*24-1
     salida=dict(zip(lista_fechas,lista_valores))
     fecha_inicio=ahora
     fecha_fin=ahora+timedelta(days=6,hours=23,minutes=59,seconds=0)
     Reserva(estacionamiento= e,inicioReserva=fecha_inicio,finalReserva=fecha_fin, tipo_puesto = 'Particular').save()
     self.assertEqual(tasa_reservaciones(e.id,True),salida)
Example #31
0
 def test_estacionamiento_reserva_una_hora_sin_cambio_fecha(
         self):  # Normal TDD
     n = 1
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(second=0, microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     lista_valores[1] = 60
     salida = dict(zip(lista_fechas, lista_valores))
     fecha_inicio = (ahora + timedelta(1)).replace(hour=15, minute=15)
     fecha_fin = fecha_inicio.replace(hour=16, minute=15)
     Reserva(estacionamiento=e,
             inicioReserva=fecha_inicio,
             finalReserva=fecha_fin,
             tipo_puesto='Particular').save()
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #32
0
 def test_reservaciones_de_una_hora_6_a_18_horas(self): # Esquina
     CAPACIDAD = 10
     HORAS_DIA = 12
     UNA_HORA = timedelta(hours=1)
     ahora = datetime.now().replace(hour=6,minute=0,second=0,microsecond=0)
     e = self.crear_estacionamiento(CAPACIDAD,time(6,0),time(18,0))
     for i in range(CAPACIDAD):
         hora_reserva = ahora
         for j in range(7):
             for k in range(HORAS_DIA):
                 Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
                         estado = "Válido",
                         estacionamiento=e,inicioReserva=hora_reserva,
                         finalReserva=hora_reserva+UNA_HORA,tipo_vehiculo = 'Pesado').save()
                 hora_reserva += UNA_HORA
             hora_reserva=ahora+timedelta(j+1)
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*CAPACIDAD*HORAS_DIA for i in range(7)]
     salida=dict(zip(lista_fechas,lista_valores))
     self.assertEqual(tasa_reservaciones(e.id, 'Pesado'),salida)
Example #33
0
 def test_estacionamiento_reserva_siete_dias(self):  # Esquina
     n = 1
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [60 * 24 for i in range(7)]
     lista_valores[6] = 60 * 24 - 1
     salida = dict(zip(lista_fechas, lista_valores))
     fecha_inicio = ahora
     fecha_fin = ahora + timedelta(days=6, hours=23, minutes=59, seconds=0)
     Reserva(estacionamiento=e,
             inicioReserva=fecha_inicio,
             finalReserva=fecha_fin,
             tipo_puesto='Particular').save()
     self.assertEqual(tasa_reservaciones(e.id, True), salida)
Example #34
0
 def test_estacionamiento_reserva_un_dia_sola_casilla(self):  # Borde
     n = 1
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     lista_valores[1] = 60 * 24
     salida = dict(zip(lista_fechas, lista_valores))
     fecha_inicio = ahora + timedelta(1)
     fecha_fin = ahora + timedelta(days=2)
     Reserva(estacionamiento=e,
             inicioReserva=fecha_inicio,
             finalReserva=fecha_fin,
             tipo_puesto='Particular').save()
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #35
0
 def test_reserva_inicio_antes_de_inicioVentana_fin_despues_inicioVentana(
         self):  # Esquina
     n = 1
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     lista_valores[0] = 1
     salida = dict(zip(lista_fechas, lista_valores))
     fecha_inicio = ahora - timedelta(1)
     fecha_fin = ahora.replace(hour=0, minute=1)
     Reserva(estacionamiento=e,
             inicioReserva=fecha_inicio,
             finalReserva=fecha_fin,
             tipo_puesto='Particular').save()
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #36
0
 def test_dos_reservaciones_mismo_dia(self):  # Borde
     n = 2
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p)
     ahora = datetime.now().replace(hour=0,
                                    minute=0,
                                    second=0,
                                    microsecond=0)
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     lista_valores[0] = 1440 * 2
     salida = dict(zip(lista_fechas, lista_valores))
     Reserva(estacionamiento=e,
             inicioReserva=ahora,
             finalReserva=ahora + timedelta(1),
             tipo_puesto='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=ahora,
             finalReserva=ahora + timedelta(1),
             tipo_puesto='Particular').save()
     self.assertEqual(tasa_reservaciones(e.id), salida)
Example #37
0
 def test_reservaciones_de_una_hora_24_horas(self): # Esquina
     CAPACIDAD = 10
     HORAS_SEMANA = 168
     UNA_HORA = timedelta(hours=1)
     ahora = datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)
     e = self.crear_estacionamiento(CAPACIDAD)
     for i in range(CAPACIDAD):
         hora_reserva = ahora
         for j in range(HORAS_SEMANA):
             if j!=HORAS_SEMANA-1:
                 Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido",
             estacionamiento=e,inicioReserva=hora_reserva,finalReserva=hora_reserva+UNA_HORA,tipo_vehiculo = 'Pesado').save()
             else:
                 Reserva(cedulaTipo = "V",cedula = "19564959", nombre = "Francisco",apellido = "Sucre",
             estado = "Válido",
             estacionamiento=e,inicioReserva=hora_reserva,finalReserva=hora_reserva+timedelta(minutes=59),tipo_vehiculo = 'Pesado').save()
             hora_reserva += UNA_HORA
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[60*CAPACIDAD*24 for i in range(7)]
     lista_valores[6]=60*CAPACIDAD*24-CAPACIDAD
     salida=dict(zip(lista_fechas,lista_valores))
     self.assertEqual(tasa_reservaciones(e.id, 'Pesado'),salida)
Example #38
0
def tasa_de_reservacion(request, _id):
    _id = int(_id)
    # Verificamos que el objeto exista antes de continuar
    try:
        estacionamiento = Estacionamiento.objects.get(id=_id)
    except ObjectDoesNotExist:
        raise Http404
    if (estacionamiento.apertura is None):
        return render(
            request, 'template-mensaje.html', {
                'color': 'red',
                'mensaje': 'Se debe parametrizar el estacionamiento primero.'
            })
    ocupacion = tasa_reservaciones(_id)
    calcular_porcentaje_de_tasa(estacionamiento.apertura,
                                estacionamiento.cierre,
                                estacionamiento.capacidad, ocupacion)
    datos_ocupacion = urlencode(
        ocupacion
    )  # Se convierten los datos del diccionario en el formato key1=value1&key2=value2&...
    return render(request, 'tasa-reservacion.html', {
        "ocupacion": ocupacion,
        "datos_ocupacion": datos_ocupacion
    })
Example #39
0
def tasa_de_reservacion(request, _id):
    _id = int(_id)
    # Verificamos que el objeto exista antes de continuar
    try:
        estacionamiento = Estacionamiento.objects.get(id = _id)
    except ObjectDoesNotExist:
        raise Http404
    if (estacionamiento.apertura is None):
        return render(
            request, 'template-mensaje.html',
            { 'color'   : 'red'
            , 'mensaje' : 'Se debe parametrizar el estacionamiento primero.'
            }
        )
    ocupacion = tasa_reservaciones(_id)
    calcular_porcentaje_de_tasa(estacionamiento.apertura, estacionamiento.cierre, estacionamiento.capacidad, ocupacion)
    datos_ocupacion = urlencode(ocupacion) # Se convierten los datos del diccionario en el formato key1=value1&key2=value2&...
    return render(
        request,
        'tasa-reservacion.html',
        { "ocupacion" : ocupacion
        , "datos_ocupacion": datos_ocupacion
        }
    )