コード例 #1
0
 def testFiveSpotsSixReservationNoOverlapping(
         self):  #Dos esquinas, 1. count = capacidad, inicio=apertura
     #              2. count = capacidad, fin=cierre
     e = self.crear_estacionamiento(5)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 12),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 12),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     self.assertTrue(
         marzullo(e.id, 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, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           18)))
コード例 #2
0
 def testFiveSpotsSixReservation(
     self
 ):  #borde, ocupacion = capacidad antes de intentar hacer reservas nuevas
     e = self.crear_estacionamiento(5)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 12),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 12),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 17)).save()
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           18)))
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           15)))
コード例 #3
0
    def testMoverReservaMasDeUnaVezCredito(self):
        AdministracionSage.objects.create_AdministracionSage(9.9)
        tarjetaTipo = 'Vista'
        p = crear_propietario()
        e = crear_estacionamiento(p, 168)
        monto = Decimal(10)
        inicio = datetime.now() + timedelta(days=1)
        fin = datetime.now() + timedelta(days=1, hours=1)
        crear_pago(inicio, fin, monto, e, tarjetaTipo)
        if (validarHorarioReservaMover(inicio, fin, e.apertura, e.cierre,
                                       e.horizonte)[0]
                and (marzullo(1, inicio, fin, 'Particular', 1))):
            pago_mover_reserva(1, inicio, fin, 0, e, tarjetaTipo)

        pago = Pago.objects.get(pk=2)
        administracion = AdministracionSage.objects.get(pk=1)
        if pago.tarjetaTipo != 'Billetera Electronica':
            monto_debitar = administracion.calcular_monto(100)
        else:
            if pago.facturaMovida != None:
                monto_debitar = administracion.calcular_monto(100)
            else:
                monto_debitar = 0

        if (validarHorarioReservaMover(inicio, fin, e.apertura, e.cierre,
                                       e.horizonte)[0]
                and (marzullo(1, inicio, fin, 'Particular', 1))):
            pago_mover_reserva(2, inicio, fin, 90, e, tarjetaTipo)

        pago = Pago.objects.get(pk=4)
        self.assertTrue(pago.monto == 100 and monto_debitar == Decimal('9.9'))
コード例 #4
0
ファイル: tests_marzullo.py プロジェクト: Arleyn/Sage-Edwin
 def testFiveSpotsSixReservation(self): #borde, ocupacion = capacidad antes de intentar hacer reservas nuevas
     e = self.crear_estacionamiento(5)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17)).save()
     self.assertFalse(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,18)))
     self.assertFalse(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15)))
コード例 #5
0
ファイル: tests_marzullo.py プロジェクト: Arleyn/Sage-Edwin
 def testFiveSpotsSixReservationNoOverlapping(self): #Dos esquinas, 1. count = capacidad, inicio=apertura
                                                     #              2. count = capacidad, fin=cierre
     e = self.crear_estacionamiento(5)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 17)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 17)).save()
     self.assertTrue(marzullo(e.id, 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, datetime(2015,1,20,9), datetime(2015,1,20,18)))
コード例 #6
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)))
コード例 #7
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testManyReservationsOneOverlap(self): #malicia, count = (capacidad+1) en la hora (9am - 10am), algunas reservas tienen inicio = apertura
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 7), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 8), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 9), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 7), 
             finalReserva=datetime(2015, 1, 20, 11),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 8), 
             finalReserva=datetime(2015, 1, 20, 12),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 9), 
             finalReserva=datetime(2015, 1, 20, 13),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), 
             finalReserva=datetime(2015, 1, 20,  9),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), 
             finalReserva=datetime(2015, 1, 20, 10),vehiculoTipo = 'Particular').save()
     self.assertFalse(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,10)))
コード例 #8
0
ファイル: tests_marzullo.py プロジェクト: Arleyn/Sage-Edwin
 def testFiveSpotsFiveReservation(self): #borde, ocupaci�n = capacidad
     e = self.crear_estacionamiento(5)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 12), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,10), datetime(2015,1,20,18)))
コード例 #9
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testAllSmallestReservations(self): #malicia, fin - inicio = 1hora, doce veces
     e = self.crear_estacionamiento(1)
     for i in range(12):
         Reserva(estacionamiento = e, inicioReserva = datetime(2015, 1, 20, 6+i), 
                 finalReserva = datetime(2015, 1, 20, 7+i),vehiculoTipo = 'Particular').save()
     for i in range(12):
         self.assertFalse(marzullo(e.id, datetime(2015,1,20,6+i), datetime(2015,1,20,7+i)))
コード例 #10
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)))
コード例 #11
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testAddThreeReservations(self): #malicia, reserva cubre todo el horario, y ocupaci�n = capacidad
     e = self.crear_estacionamiento(3)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), 
             finalReserva=datetime(2015, 1, 20, 15),vehiculoTipo = 'Particular').save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), 
             finalReserva=datetime(2015, 1, 20, 15),vehiculoTipo = 'Particular').save()
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,6), datetime(2015,1,20,18)))
コード例 #12
0
    def testMoverReservaSolapada(self):
        AdministracionSage.objects.create_AdministracionSage(9.9)
        tarjetaTipo = 'Billetera Electronica'
        p = crear_propietario()
        e = crear_estacionamiento(p, 168)
        inicio = datetime.now() + timedelta(days=1)
        fin = datetime.now() + timedelta(days=1, hours=1)
        monto = Decimal('0.01')
        crear_pago(inicio, fin, Decimal('0.01'), e, tarjetaTipo)
        pago = Pago.objects.get(pk=1)
        administracion = AdministracionSage.objects.get(pk=1)
        if pago.tarjetaTipo != 'Billetera Electronica':
            monto_debitar = administracion.calcular_monto(monto)
        else:
            if pago.facturaMovida != None:
                monto_debitar = administracion.calcular_monto(monto)
            else:
                monto_debitar = 0

        if (validarHorarioReservaMover(inicio, fin, e.apertura, e.cierre,
                                       e.horizonte)[0]
                and (marzullo(1, inicio, fin, 'Particular', 1))):
            pago_mover_reserva(1, inicio, fin, 0, e, tarjetaTipo)
        pagos = Pago.objects.filter(fueMovido=True)
        self.assertTrue(len(pagos) == 1 and monto_debitar == 0)
コード例 #13
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)))
コード例 #14
0
 def testManyReservationsMaxOverlapping(
     self
 ):  #esquina, count = capacidad en una hora (10am - 11am), algunas reservas tienen inicio = apertura
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 7),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 8),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 7),
             finalReserva=datetime(2015, 1, 20, 11)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 8),
             finalReserva=datetime(2015, 1, 20, 12)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 13)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 9)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 10),
                  datetime(2015, 1, 20, 15)))
コード例 #15
0
 def testAddTwoReservation2(
         self):  #esquina, dos reservaciones con incio = apertura estac.
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 6), datetime(2015, 1, 20,
                                                           14)))
コード例 #16
0
 def testAddTwoReservation(
         self):  #esquina, dos reservaciones con fin = cierre estac.
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 18)).save()
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 12),
                  datetime(2015, 1, 20, 18)))
コード例 #17
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)))
コード例 #18
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)))
コード例 #19
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)))
コード例 #20
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)))
コード例 #21
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)))
コード例 #22
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)))
コード例 #23
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)))
コード例 #24
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)))
コード例 #25
0
 def testAllSmallestReservations(
         self):  #malicia, fin - inicio = 1hora, doce veces
     e = self.crear_estacionamiento(1)
     for i in range(12):
         Reserva(estacionamiento=e,
                 inicioReserva=datetime(2015, 1, 20, 6 + i),
                 finalReserva=datetime(2015, 1, 20, 7 + i)).save()
     for i in range(12):
         self.assertFalse(
             marzullo(e.id, datetime(2015, 1, 20, 6 + i),
                      datetime(2015, 1, 20, 7 + i)))
コード例 #26
0
 def testFullPlusOne(
     self
 ):  #malicia, fin - inicio = 1hora, doce veces + una reserva FullDay
     e = self.crear_estacionamiento(1)
     for i in range(12):
         Reserva(estacionamiento=e,
                 inicioReserva=datetime(2015, 1, 20, 6 + i),
                 finalReserva=datetime(2015, 1, 20, 7 + i)).save()
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 6), datetime(2015, 1, 20,
                                                           18)))
コード例 #27
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)))
コード例 #28
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)))
コード例 #29
0
 def testAddThreeReservations(
     self
 ):  #malicia, reserva cubre todo el horario, y ocupaci�n = capacidad
     e = self.crear_estacionamiento(3)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 6), datetime(2015, 1, 20,
                                                           18)))
コード例 #30
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)))
コード例 #31
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testManyReservationsOneOverlap(
     self
 ):  #malicia, count = (capacidad+1) en la hora (9am - 10am), algunas reservas tienen inicio = apertura
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 7),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 8),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 7),
             finalReserva=datetime(2015, 1, 20, 11),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 8),
             finalReserva=datetime(2015, 1, 20, 12),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 13),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 9),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 6),
             finalReserva=datetime(2015, 1, 20, 10),
             vehiculoTipo='Particular').save()
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           10)))
コード例 #32
0
 def testMoverReservaInvalidaCambioHorizonte(self):
     AdministracionSage.objects.create_AdministracionSage(9.9)
     tarjetaTipo = 'Billetera Electronica'
     p = crear_propietario()
     e = crear_estacionamiento(p, 48)
     inicio = datetime.now() + timedelta(hours=1)
     fin = datetime.now() + timedelta(days=4)
     crear_pago(inicio, fin, Decimal('0.01'), e, tarjetaTipo)
     if (validarHorarioReservaMover(inicio, fin, e.apertura, e.cierre,
                                    e.horizonte)[0]
             and (marzullo(1, inicio, fin, 'Particular', 1))):
         pago_mover_reserva(1, inicio, fin, 0, e, tarjetaTipo)
     pagos = Pago.objects.all()
     self.assertTrue(len(pagos) == 1)
コード例 #33
0
 def testFiveSpotsFiveReservation(self):  #borde, ocupaci�n = capacidad
     e = self.crear_estacionamiento(5)
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 9),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 12),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento=e,
             inicioReserva=datetime(2015, 1, 20, 10),
             finalReserva=datetime(2015, 1, 20, 15)).save()
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 10),
                  datetime(2015, 1, 20, 18)))
コード例 #34
0
 def testMoverReservaMontoMenor(self):
     AdministracionSage.objects.create_AdministracionSage(9.9)
     tarjetaTipo = 'Vista'
     p = crear_propietario()
     e = crear_estacionamiento(p, 168)
     monto = 100
     diferencia = Decimal('90')
     inicio = datetime.now() + timedelta(days=1)
     fin = datetime.now() + timedelta(days=1, hours=1)
     crear_pago(inicio, fin, monto, e, tarjetaTipo)
     crear_billetera()
     if (validarHorarioReservaMover(inicio, fin, e.apertura, e.cierre,
                                    e.horizonte)[0]
             and (marzullo(1, inicio, fin, 'Particular', 1))):
         recarga_mover_reserva(1, inicio, fin, diferencia, 1, e,
                               tarjetaTipo)
     billetera = BilleteraElectronica.objects.get(pk=1)
     self.assertEqual(billetera.saldo, Decimal('90') - Decimal('.99'))
コード例 #35
0
ファイル: tests_marzullo.py プロジェクト: Arleyn/Sage-Edwin
 def testManyReservationsMaxOverlapping(self): #esquina, count = capacidad en una hora (10am - 11am), algunas reservas tienen inicio = apertura
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  7), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  8), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  7), finalReserva=datetime(2015, 1, 20, 11)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  8), finalReserva=datetime(2015, 1, 20, 12)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  9), finalReserva=datetime(2015, 1, 20, 13)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20,  9)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20,  6), finalReserva=datetime(2015, 1, 20, 10)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 10), finalReserva=datetime(2015, 1, 20, 15)).save()
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,10), datetime(2015,1,20,15)))
コード例 #36
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)))
コード例 #37
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testTenSpotsOneReservation(self): #malicia
     e = self.crear_estacionamiento(10)
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15)))
コード例 #38
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testNoSpotParking(self): #esquina, capacidad = 0
     e = self.crear_estacionamiento(0)
     self.assertFalse(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15)))
コード例 #39
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarNoPuestoParaCamion(self): #borde, capacidad para Camions = 0
     e = self.crear_estacionamiento(3,4,5,0)
     self.assertFalse(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15),'Camion'))
コード例 #40
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarNoPuestoParaDiscapacitado(self): #borde, capacidad para Discapacitado = 0
     e = self.crear_estacionamiento(3,3,0,5)
     self.assertFalse(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15),'Discapacitado'))
コード例 #41
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarNoPuestoParaDiscapacitado(
         self):  #borde, capacidad para Discapacitado = 0
     e = self.crear_estacionamiento(3, 3, 0, 5)
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20, 15),
                  'Discapacitado'))
コード例 #42
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarUnPuestoParaMoto(
         self):  #borde, ocupacion = capacidad para motos
     e = self.crear_estacionamiento(0, 1)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20, 15),
                  'Moto'))
コード例 #43
0
 def testTenSpotsOneReservation(self):  #malicia
     e = self.crear_estacionamiento(10)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           15)))
コード例 #44
0
 def testSmallestReservation(self):  #borde, fin - inicio = 1hora
     e = self.crear_estacionamiento(1)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 8), datetime(2015, 1, 20, 9)))
コード例 #45
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarNoPuestoParaCamion(
         self):  #borde, capacidad para Camions = 0
     e = self.crear_estacionamiento(3, 4, 5, 0)
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20, 15),
                  'Camion'))
コード例 #46
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testOneReservationMax(self): #borde, ocupaci�n = capacidad
     e = self.crear_estacionamiento(1)
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15)))
コード例 #47
0
 def testOneReservationMax(self):  #borde, ocupaci�n = capacidad
     e = self.crear_estacionamiento(1)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           15)))
コード例 #48
0
 def testOneReservationEarly(self):  #borde, inicio = aprtura
     e = self.crear_estacionamiento(2)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 6), datetime(2015, 1, 20,
                                                           10)))
コード例 #49
0
 def testOneReservationLate(self):  #borde, fin = cierre
     e = self.crear_estacionamiento(2)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 15),
                  datetime(2015, 1, 20, 18)))
コード例 #50
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testAddTwoReservation(self): #esquina, dos reservaciones con fin = cierre estac.
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento = e, inicioReserva = datetime(2015, 1, 20, 9), 
             finalReserva = datetime(2015, 1, 20, 18),vehiculoTipo = 'Particular').save()
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,12), datetime(2015,1,20,18)))
コード例 #51
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testAddTwoReservation2(self): #esquina, dos reservaciones con incio = apertura estac.
     e = self.crear_estacionamiento(10)
     Reserva(estacionamiento = e, inicioReserva=datetime(2015, 1, 20, 6), 
             finalReserva=datetime(2015, 1, 20, 15),vehiculoTipo = 'Particular').save()
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,6), datetime(2015,1,20,14)))
コード例 #52
0
 def testNoSpotParking(self):  #borde, capacidad = 0
     e = self.crear_estacionamiento(0)
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20,
                                                           15)))
コード例 #53
0
def estacionamiento_reserva(request, _id):
    _id = int(_id)
    # Verificamos que el objeto exista antes de continuar
    try:
        estacionamiento = Estacionamiento.objects.get(id=_id)
    except ObjectDoesNotExist:
        raise Http404

    # Verificamos que el estacionamiento este parametrizado
    if (estacionamiento.apertura is None):
        return HttpResponse(status=403)  # Esta prohibido entrar aun

    # Si se hace un GET renderizamos los estacionamientos con su formulario
    if request.method == 'GET':
        form = ReservaForm()

    # Si es un POST estan mandando un request
    elif request.method == 'POST':
        form = ReservaForm(request.POST)
        # Verificamos si es valido con los validadores del formulario
        if form.is_valid():

            inicioReserva = form.cleaned_data['inicio']
            finalReserva = form.cleaned_data['final']

            # debería funcionar con excepciones, y el mensaje debe ser mostrado
            # en el mismo formulario
            m_validado = validarHorarioReserva(
                inicioReserva,
                finalReserva,
                estacionamiento.apertura,
                estacionamiento.cierre,
            )

            # Si no es valido devolvemos el request
            if not m_validado[0]:
                return render(request, 'template-mensaje.html', {
                    'color': 'red',
                    'mensaje': m_validado[1]
                })

            if marzullo(_id, inicioReserva, finalReserva):
                reservaFinal = Reserva(
                    estacionamiento=estacionamiento,
                    inicioReserva=inicioReserva,
                    finalReserva=finalReserva,
                )

                monto = Decimal(
                    estacionamiento.tarifa.calcularPrecio(
                        inicioReserva, finalReserva))

                request.session['monto'] = float(
                    estacionamiento.tarifa.calcularPrecio(
                        inicioReserva, finalReserva))
                request.session['finalReservaHora'] = finalReserva.hour
                request.session['finalReservaMinuto'] = finalReserva.minute
                request.session['inicioReservaHora'] = inicioReserva.hour
                request.session['inicioReservaMinuto'] = inicioReserva.minute
                request.session['anioinicial'] = inicioReserva.year
                request.session['mesinicial'] = inicioReserva.month
                request.session['diainicial'] = inicioReserva.day
                request.session['aniofinal'] = finalReserva.year
                request.session['mesfinal'] = finalReserva.month
                request.session['diafinal'] = finalReserva.day
                return render(
                    request, 'confirmar.html', {
                        'id': _id,
                        'monto': monto,
                        'reserva': reservaFinal,
                        'color': 'green',
                        'mensaje': 'Existe un puesto disponible'
                    })
            else:
                # Cambiar mensaje
                return render(
                    request, 'template-mensaje.html', {
                        'color': 'red',
                        'mensaje':
                        'No hay un puesto disponible para ese horario'
                    })

    return render(request, 'reserva.html', {
        'form': form,
        'estacionamiento': estacionamiento
    })
コード例 #54
0
 def testOneReservationFullDay(
         self):  #esquina, inicio = aprtura y fin = cierre
     e = self.crear_estacionamiento(1)
     self.assertTrue(
         marzullo(e.id, datetime(2015, 1, 20, 6), datetime(2015, 1, 20,
                                                           18)))
コード例 #55
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarUnPuestoParaCamion(self): #borde, ocupacion = capacidad para Camions
     e = self.crear_estacionamiento(0,0,0,1)
     self.assertTrue(marzullo(e.id, datetime(2015,1,20,9), datetime(2015,1,20,15),'Camion'))
コード例 #56
0
ファイル: tests_marzullo.py プロジェクト: PytechUSB/SAGE
 def testReservarNoPuestoParaMoto(self):  #borde, capacidad para motos = 0
     e = self.crear_estacionamiento(3, 0, 3, 4)
     self.assertFalse(
         marzullo(e.id, datetime(2015, 1, 20, 9), datetime(2015, 1, 20, 15),
                  'Moto'))