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)
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)
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)
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)
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)
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)
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_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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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_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)
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)
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_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_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)
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)
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 })
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 } )