def test_estacionamiento_sin_pagos(self):
     p = Puestos(
         particular = 20,
         moto = 20,
         carga = 20,
         discapacitado = 20
         )
     p.save()
     e = Estacionamiento(
         propietario = self.crear_propietario(),
         nombre = "nom",
         direccion = "dir",
         telefono1 = "041414141111",
         telefono2 = "041414141112",
         telefono3 = "04141414111",
         email1 = "*****@*****.**",
         email2 = "*****@*****.**",
         rif = "J-123456789",
         capacidad   = p,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     e.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 0)
Esempio n. 2
0
 def test_muchos_estacionamiento_sin_pagos(self):
     n = 1000
     p = Puestos(particular=n, moto=20, carga=20, discapacitado=20)
     p.save()
     for i in range(0, n):
         prop = Propietario(
             nombre="prop%d" % i,
             apellido="apell",
             cedula="V-041414141111",
             telefono="041414141112",
             email="*****@*****.**",
         )
         prop.save()
         e1 = Estacionamiento(
             propietario=prop,
             nombre="nom%d" % i,
             direccion="dir1",
             rif="J-123456789",
             capacidad=p,
             apertura=time(0, 0),
             cierre=time(23, 59),
         )
         e1.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == n and total == 0)
 def test_muchos_estacionamiento_sin_pagos(self):
     n  = 1000
     p = Puestos(
         particular = n,
         moto = 20,
         carga = 20,
         discapacitado = 20
         )
     p.save()
     for i in range(0,n):
         prop = Propietario(
         nombre = "prop%d"%i,
         apellido = "apell",
         cedula = "V-041414141111",
         telefono = "041414141112",
         email = "*****@*****.**",
         )
         prop.save()
         e1 = Estacionamiento(
             propietario = prop,
             nombre      = "nom%d"%i,
             direccion   = "dir1",
             rif         = "J-123456789",
             capacidad   = p,
             apertura    = time(0,0),
             cierre      = time(23,59),
         )
         e1.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == n and total == 0)
Esempio n. 4
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)
     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)
Esempio n. 5
0
 def testManyReservationsMaxOverlapping(self): #esquina, count = capacidad en una hora (10am - 11am), algunas reservas tienen inicio = apertura
     n = 10
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  7), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  8), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  7), finalReserva=datetime(2015, 1, 20, 11), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  8), finalReserva=datetime(2015, 1, 20, 12), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 13), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20,  9), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,10), datetime(2015,1,20,15)))
Esempio n. 6
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)
Esempio n. 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)
Esempio n. 8
0
 def test_un_estacionamiento_muchos_pagos(self):
     n = 1000
     p = Puestos(particular=n, moto=20, carga=20, discapacitado=20)
     p.save()
     e = Estacionamiento(
         propietario=self.crear_propietario(),
         nombre="nom",
         direccion="dir",
         telefono1="041414141111",
         telefono2="041414141112",
         telefono3="04141414111",
         email1="*****@*****.**",
         email2="*****@*****.**",
         rif="J-123456789",
         capacidad=p,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     e.save()
     for i in range(0, n):
         r = Reserva(estacionamiento=e,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0),
                     tipo_puesto='Particular')
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tarjetaTipo="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == n * 100)
 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)
Esempio n. 10
0
 def testOneReservationLate(self): #borde, fin = cierre
     n = 2
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,15), datetime(2015,1,20,18)))
Esempio n. 11
0
 def testOneReservationMax(self): #borde, ocupaci�n = capacidad
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,15)))
Esempio n. 12
0
 def testOneReservationEarly(self): #borde, inicio = aprtura
     n = 2
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,6), datetime(2015,1,20,10)))
Esempio n. 13
0
 def testOneReservationFullDay(self): #esquina, inicio = aprtura y fin = cierre
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,6), datetime(2015,1,20,18)))
Esempio n. 14
0
 def testSmallestReservation(self): #borde, fin - inicio = 1hora
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,8), datetime(2015,1,20,9)))
Esempio n. 15
0
 def testNoSpotParking(self): #borde, capacidad = 0
     n = 0
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertFalse(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,15)))
Esempio n. 16
0
 def testTenSpotsOneReservation(self): #malicia
     n = 10
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,15)))
Esempio n. 17
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)
Esempio n. 18
0
 def testAddTwoReservation2(self): #esquina, dos reservaciones con incio = apertura estac.
     n = 10
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,6), datetime(2015,1,20,14)))
Esempio n. 19
0
 def testAddThreeReservations(self): #malicia, reserva cubre todo el horario, y ocupaci�n = capacidad
     n = 3
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,6), datetime(2015,1,20,18)))
Esempio n. 20
0
 def testFullPlusOne(self): #malicia, fin - inicio = 1hora, doce veces + una reserva FullDay
     n = 1
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     for i in range(12):
         Reserva(estacionamiento = e, inicioReserva = datetime(2015, 1, 20, 6+i), finalReserva = datetime(2015, 1, 20, 7+i), tipo_puesto = 'Particular').save()
     self.assertFalse(marzullo(e.id, 'Particular',datetime(2015, 1, 20, 6), datetime(2015, 1, 20, 18)))
Esempio n. 21
0
 def testFiveSpotsFiveReservation(self): #borde, ocupaci�n = capacidad
     n = 5
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15), tipo_puesto = 'Particular').save()
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,10), datetime(2015,1,20,18)))
 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)
Esempio n. 23
0
 def testFiveSpotsSixReservation(self): #borde, ocupacion = capacidad antes de intentar hacer reservas nuevas
     n = 5
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     self.assertFalse(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,18)))
     self.assertFalse(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,15)))
 def test_estacionamiento_vacio(self):
     n = 2
     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)]
     ocupacion1=dict(zip(lista_fechas,lista_valores))
     calcular_porcentaje_de_tasa(hora_apertura=e.apertura,hora_cierre=e.cierre,capacidad=2, ocupacion=ocupacion1)
     self.assertEqual(dict(zip(lista_fechas,[Decimal(0) for i in range(7)])),ocupacion1)
Esempio n. 25
0
 def test_estacionamiento_vacio(self):
     n = 2
     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)]
     ocupacion1 = dict(zip(lista_fechas, lista_valores))
     calcular_porcentaje_de_tasa(hora_apertura=e.apertura,
                                 hora_cierre=e.cierre,
                                 capacidad=2,
                                 ocupacion=ocupacion1)
     self.assertEqual(
         dict(zip(lista_fechas, [Decimal(0) for i in range(7)])),
         ocupacion1)
 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)
Esempio n. 27
0
 def testFiveSpotsSixReservationNoOverlapping(self): #Dos esquinas, 1. count = capacidad, inicio=apertura
                                                     #              2. count = capacidad, fin=cierre
     n = 5
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17), tipo_puesto = 'Particular').save()
     self.assertTrue(marzullo(e.id, 'Particular',datetime(2015,1,20,6), datetime(2015,1,20,10)))
     #La reserva de arriba NO se concreta, puesto que s�lo se verific� si era v�lida, sin agregar su objeto
     self.assertFalse(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,18)))
 def test_muchos_estacionamiento_con_disintos_rif(self):
     n  = 1000
     for i in range(0,n):
         prop = Propietario(
         nombre = "prop%d"%i,
         apellido = "apell",
         cedula = "V-041414141111",
         telefono = "041414141112",
         email = "*****@*****.**",
         )
         prop.save()
         p = Puestos(
             particular = n,
             moto = 20,
             carga = 20,
             discapacitado = 20
             )
         p.save()
         e1 = Estacionamiento(
             propietario = prop,
             nombre      = "nom%d"%i,
             direccion   = "dir1",
             rif         = "J-%i"%(123456789-i),
             capacidad   = p,
             apertura    = time(0,0),
             cierre      = time(23,59),
         )
         e1.save()
         r = Reserva(
                 estacionamiento = e1,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0),
                 tipo_puesto = 'Particular'
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedula           = "V-1234567",
                 tarjetaTipo      = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 100)
 def test_estacionamiento_horario_restringido_toda_capacidad_primer_dia(self):
     n = 2
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n
     )
     p.save()
     e=self.crear_estacionamiento(p,time(6,0),time(18,45))
     ahora=datetime.now()
     lista_fechas=[(ahora+timedelta(i)).date() for i in range(7)]
     lista_valores=[0 for i in range(7)]
     lista_valores[0]=765*2
     ocupacion1=dict(zip(lista_fechas,lista_valores))
     calcular_porcentaje_de_tasa(hora_apertura=e.apertura,hora_cierre=e.cierre,capacidad=2, ocupacion=ocupacion1)
     lista_valores2=[Decimal(0) for i in range(7)]
     lista_valores2[0]=Decimal(50)*2
     self.assertEqual(dict(zip(lista_fechas,lista_valores2)),ocupacion1)
Esempio n. 30
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)
 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)
Esempio n. 33
0
 def test_estacionamiento_horario_restringido_toda_capacidad_primer_dia(
         self):
     n = 2
     p = Puestos(particular=n, moto=n, carga=n, discapacitado=n)
     p.save()
     e = self.crear_estacionamiento(p, time(6, 0), time(18, 45))
     ahora = datetime.now()
     lista_fechas = [(ahora + timedelta(i)).date() for i in range(7)]
     lista_valores = [0 for i in range(7)]
     lista_valores[0] = 765 * 2
     ocupacion1 = dict(zip(lista_fechas, lista_valores))
     calcular_porcentaje_de_tasa(hora_apertura=e.apertura,
                                 hora_cierre=e.cierre,
                                 capacidad=2,
                                 ocupacion=ocupacion1)
     lista_valores2 = [Decimal(0) for i in range(7)]
     lista_valores2[0] = Decimal(50) * 2
     self.assertEqual(dict(zip(lista_fechas, lista_valores2)), ocupacion1)
 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_dos_estacionamiento_muchos_pagos(self):
        n = 1000
        p = Puestos(
            particular = n,
            moto = 20,
            carga = 20,
            discapacitado = 20
            )
        p.save()
        e = Estacionamiento(
            propietario = self.crear_propietario(),
            nombre = "nom",
            direccion = "dir",
            telefono1 = "041414141111",
            telefono2 = "041414141112",
            telefono3 = "04141414111",
            email1 = "*****@*****.**",
            email2 = "*****@*****.**",
            rif = "J-123456789",
            capacidad   = p,
            apertura    = time(0,0),
            cierre      = time(23,59),
        )
        e.save()
        for i in range(0,n):
            r = Reserva(
                    estacionamiento = e,
                    inicioReserva = datetime(2015,3,10,3,0),
                    finalReserva  = datetime(2015,3,10,5,0),
                    tipo_puesto = 'Particular'
                )
            r.save()
            p = Pago(
                    fechaTransaccion = datetime.now(),
                    cedula           = "V-1234567",
                    tarjetaTipo      = "VISTA",
                    reserva          = r,
                    monto            = 100,
                )
            p.save()

        
        lista, total = consultar_ingresos("J-123456789")
        self.assertTrue(len(lista) == 1 and total == n*100)
 def test_llamada_a_reserva(self):
     p = Puestos(particular = 20,
                 moto = 20,
                 carga = 20,
                 discapacitado = 20
     )
     p.save()
     e = Estacionamiento(
         propietario = self.crear_propietario(),
         nombre = "nom",
         direccion = "dir",
         rif = "rif",
         capacidad = p,
         apertura = time(0,0),
         cierre = time(23,59),
     )
     e.save()
     response = self.client.get('/estacionamientos/1/reserva')
     self.assertEqual(response.status_code, 200)
Esempio n. 38
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)
Esempio n. 39
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)
Esempio n. 40
0
 def test_estacionamiento_sin_pagos(self):
     p = Puestos(particular=20, moto=20, carga=20, discapacitado=20)
     p.save()
     e = Estacionamiento(
         propietario=self.crear_propietario(),
         nombre="nom",
         direccion="dir",
         telefono1="041414141111",
         telefono2="041414141112",
         telefono3="04141414111",
         email1="*****@*****.**",
         email2="*****@*****.**",
         rif="J-123456789",
         capacidad=p,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     e.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 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)
Esempio n. 42
0
 def testManyReservationsOneOverlap(self): #malicia, count = (capacidad+1) en la hora (9am - 10am), algunas reservas tienen inicio = apertura
     n = 10
     p = Puestos(particular = n,
                 moto = n,
                 carga = n,
                 discapacitado = n)
     p.save()
     e = self.crear_estacionamiento(p)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 7), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 8), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 9), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 7), finalReserva=datetime(2015, 1, 20, 11), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 8), finalReserva=datetime(2015, 1, 20, 12), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 9), finalReserva=datetime(2015, 1, 20, 13), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), finalReserva=datetime(2015, 1, 20,  9), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), finalReserva=datetime(2015, 1, 20, 10), tipo_puesto = 'Particular').save()
     self.assertFalse(marzullo(e.id, 'Particular',datetime(2015,1,20,9), datetime(2015,1,20,10)))
Esempio n. 43
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)
Esempio n. 44
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)
Esempio n. 45
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)
Esempio n. 46
0
 def test_muchos_estacionamiento_con_disintos_rif(self):
     n = 1000
     for i in range(0, n):
         prop = Propietario(
             nombre="prop%d" % i,
             apellido="apell",
             cedula="V-041414141111",
             telefono="041414141112",
             email="*****@*****.**",
         )
         prop.save()
         p = Puestos(particular=n, moto=20, carga=20, discapacitado=20)
         p.save()
         e1 = Estacionamiento(
             propietario=prop,
             nombre="nom%d" % i,
             direccion="dir1",
             rif="J-%i" % (123456789 - i),
             capacidad=p,
             apertura=time(0, 0),
             cierre=time(23, 59),
         )
         e1.save()
         r = Reserva(estacionamiento=e1,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0),
                     tipo_puesto='Particular')
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tarjetaTipo="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 100)