Esempio n. 1
0
 def test_init_trip(self):
     # prepare
     args = dict(trip_id='24104916_010117', trip_date=datetime.date(2017, 2, 2))
     # exec
     trip = RealTimeArrivals.Trip(**args)
     # test
     self.assertEqual(trip.trip_date, args['trip_date'])
     self.assertEqual(trip.trip_id, args['trip_id'])
Esempio n. 2
0
    def test_stop_between_records(self):
        trip = RealTimeArrivals.Trip()
        trip.records = records[1:]
        trip._add_route_offset_in_meters(stops[-1].shape_dist_traveled)

        bef, aft = trip._get_before_and_after_records(stop=stops[2])
        self.assertEqual(bef, records[1])
        self.assertEqual(aft, records[2])
Esempio n. 3
0
    def test_trip_fill_set_route_offset_in_meters(self):
        # prepare
        args = dict(trip_id='24104916_010117', trip_date=datetime.date(2017, 2, 2))
        trip = RealTimeArrivals.Trip(crud =crud_stub.CrudStub(), **args)
        # exec
        trip._fill_()

        for i in trip.records:
            self.assertTrue(i.route_offset_in_meters is not None)
Esempio n. 4
0
    def test_all_records_AFTER_stop_get_no_real_time(self):

        # prepare
        trip = RealTimeArrivals.Trip(crud=StubRecordsAfter())

        # exec
        trip._fill_()
        # trip.real_time()
        # test
        self.assertFalse(trip.real_times)
Esempio n. 5
0
    def test_stop_after_records(self):
        trip = RealTimeArrivals.Trip()
        trip.records = records[1:]
        trip._add_route_offset_in_meters(1)

        try:
            trip._get_before_and_after_records(stop=stops[3])
        except ValueError:
            return
        self.fail()
Esempio n. 6
0
 def test_trip_real_time_without_exception(self):
     # noinspection PyBroadException
     try:
         # prepare
         args = dict(trip_id='24104916_010117', trip_date=datetime.date(2017, 2, 2))
         trip = RealTimeArrivals.Trip(crud =crud_stub.CrudStub(), **args)
         # exec
         trip._fill_()
     except Exception:
         self.fail("exception")
Esempio n. 7
0
    def test_trip_fill_set_records(self):
        # prepare
        args = dict(trip_id='24104916_010117', trip_date=datetime.date(2017, 2, 2))
        trip = RealTimeArrivals.Trip(crud =crud_stub.CrudStub(), **args)
        # exec
        trip._fill_()

        expect = len({x['recorded_at_time'] for x in crud_stub.CrudStub.raw_records})

        self.assertEqual(expect, len(trip.records))
Esempio n. 8
0
 def test_trip_fill_sort_records(self):
     # prepare
     args = dict(trip_id='24104916_010117', trip_date=datetime.date(2017, 2, 2))
     trip = RealTimeArrivals.Trip(crud =crud_stub.CrudStub(), **args)
     # exec
     trip._fill_()
     for num, record in enumerate(trip.records[1:]):
         curr = record.route_offset
         prev = trip.records[num].route_offset
         self.assertTrue(curr > prev)
Esempio n. 9
0
 def test_trip_fill_sort_stops(self):
     # prepare
     args = dict(trip_id='24104916_010117', trip_date=datetime.date(2017, 2, 2))
     trip = RealTimeArrivals.Trip(crud =crud_stub.CrudStub(), **args)
     # exec
     trip._fill_()
     for num, stop in enumerate(trip.stops[1:]):
         curr = stop.stop_sequence
         prev = trip.stops[num].stop_sequence
         self.assertTrue(curr > prev)
Esempio n. 10
0
 def get_relevant_trips_from_gtfs(self, date: datetime.date):
     sql = """SELECT trip_id_from_gtfs, date_trunc('day', max(recorded_at_time)) 
     FROM siri_arrivals 
     WHERE recorded_at_time between '{}' and '{}' 
     GROUP BY trip_id_from_gtfs;"""
     with self.conn.cursor() as curs:
         curs.execute(sql.format(date, (date + datetime.timedelta(days=1))))
         return [
             RealTimeArrivals.Trip(row[0], row[1], self) for row in curs
             if row[0]
         ]
Esempio n. 11
0
    def test_stop_BETWEEN_records_get_real_time(self):

        # prepare
        trip = RealTimeArrivals.Trip(crud=StubRecordsRegular())

        # exec
        trip._fill_()
        # trip.real_time()
        # test
        self.assertTrue(trip.real_times)

        self.assertTrue(trip.real_times[0].real_time == datetime.datetime(2017, 1, 1, 12, 45))
        self.assertTrue(trip.real_times[0].speed == 2.0)
Esempio n. 12
0
    def test_threadpool(self):
        pool = ThreadPoolExecutor()



        trip_ids = ["27782048_310717", "27782049_310717"]
        with Cruds.Connection(**conn_config) as c:

            trips = [RealTimeArrivals.Trip(trip_date=datetime.date(2017, 7, 31), trip_id= i, crud=Cruds.CrudPostgresql(c))
                     for i in trip_ids]

            futuers = [pool.submit(trip) for trip in trips]

            for i in futuers:
                print (i)
                i.result(120)