コード例 #1
0
    def test_import_trips_txt_multiple_services(self):
        '''
        If a trip is associated with several services, only one is created

        Before 0.4.0, the trip was related to both services
        After 0.4.0, the trip is related to only the first service
        '''
        trips_txt = StringIO("""\
route_id,service_id,trip_id
R1,S1,T1
R1,S2,T1
""")
        service1 = Service.objects.create(feed=self.feed,
                                          service_id='S1',
                                          start_date=date(2011, 4, 14),
                                          end_date=date(2011, 12, 31))
        service2 = Service.objects.create(feed=self.feed,
                                          service_id='S2',
                                          start_date=date(2012, 1, 1),
                                          end_date=date(2012, 4, 14))

        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()
        self.assertEqual(trip.route, self.route)
        self.assertEqual(trip.service, service1)
        self.assertFalse(service2.trip_set.exists())
コード例 #2
0
    def test_import_trips_txt_maximal(self):
        trips_txt = StringIO.StringIO(
            """\
route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id,\
block_id,shape_id,wheelchair_accessible,bikes_allowed
R1,S1,T1,Headsign,HS,0,B1,S1,1,2
"""
        )
        service = Service.objects.create(
            feed=self.feed, service_id="S1", start_date=date(2011, 4, 14), end_date=date(2011, 12, 31)
        )
        block = Block.objects.create(feed=self.feed, block_id="B1")
        shape = Shape.objects.create(feed=self.feed, shape_id="S1")
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()
        self.assertEqual(trip.route, self.route)
        self.assertEqual(list(trip.services.all()), [service])
        self.assertEqual(trip.trip_id, "T1")
        self.assertEqual(trip.headsign, "Headsign")
        self.assertEqual(trip.short_name, "HS")
        self.assertEqual(trip.direction, "0")
        self.assertEqual(trip.block, block)
        self.assertEqual(trip.shape, shape)
        self.assertEqual(trip.wheelchair_accessible, "1")
        self.assertEqual(trip.bikes_allowed, "2")
コード例 #3
0
ファイル: trip.py プロジェクト: derickl/gtfs-server
    def test_import_trips_txt_duplicate(self):
        trips_txt = StringIO("""\
route_id,service_id,trip_id
R1,S1,T1
R1,S1,T1
""")
        Service.objects.create(
            feed=self.feed, service_id='S1', start_date=date(2011, 4, 14),
            end_date=date(2011, 12, 31))
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()  # Just one
        self.assertEqual(trip.trip_id, 'T1')
コード例 #4
0
    def test_import_trips_txt_duplicate(self):
        trips_txt = StringIO("""\
route_id,service_id,trip_id
R1,S1,T1
R1,S1,T1
""")
        Service.objects.create(feed=self.feed,
                               service_id='S1',
                               start_date=date(2011, 4, 14),
                               end_date=date(2011, 12, 31))
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()  # Just one
        self.assertEqual(trip.trip_id, 'T1')
コード例 #5
0
    def test_import_trips_txt_quoted_direction_id(self):
        '''
        A direction_id should be stripped of quotation marks

        Issue 64
        '''
        trips_txt = StringIO("""\
route_id,service_id,trip_id,shape_id,trip_headsign,direction_id
R1,"S1","T3","46-860-y11-1.2.I","Aston Quay", "1"
""")
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get(trip_id='T3')
        self.assertEqual(trip.direction, '1')
コード例 #6
0
    def test_import_trips_txt_quoted_direction_id(self):
        '''
        A direction_id should be stripped of quotation marks

        Issue 64
        '''
        trips_txt = StringIO("""\
route_id,service_id,trip_id,shape_id,trip_headsign,direction_id
R1,"S1","T3","46-860-y11-1.2.I","Aston Quay", "1"
""")
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get(trip_id='T3')
        self.assertEqual(trip.direction, '1')
コード例 #7
0
ファイル: trip.py プロジェクト: jgissend10/django-multi-gtfs
    def test_import_trips_txt_minimal(self):
        trips_txt = StringIO.StringIO("""\
route_id,service_id,trip_id
R1,S1,T1
""")
        service = Service.objects.create(
            feed=self.feed, service_id='S1', start_date=date(2011, 4, 14),
            end_date=date(2011, 12, 31))
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()
        self.assertEqual(trip.route, self.route)
        self.assertEqual(list(trip.services.all()), [service])
        self.assertEqual(trip.trip_id, 'T1')
        self.assertEqual(trip.headsign, '')
        self.assertEqual(trip.short_name, '')
        self.assertEqual(trip.direction, '')
        self.assertEqual(trip.block, None)
        self.assertEqual(trip.shape, None)
コード例 #8
0
ファイル: trip.py プロジェクト: jgissend10/django-multi-gtfs
    def test_import_trips_txt_multiple_services(self):
        '''If a trip is associated with several services, one is created'''
        trips_txt = StringIO.StringIO("""\
route_id,service_id,trip_id
R1,S1,T1
R1,S2,T1
""")
        service1 = Service.objects.create(
            feed=self.feed, service_id='S1', start_date=date(2011, 4, 14),
            end_date=date(2011, 12, 31))
        service2 = Service.objects.create(
            feed=self.feed, service_id='S2', start_date=date(2012, 1, 1),
            end_date=date(2012, 4, 14))

        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()
        self.assertEqual(trip.route, self.route)
        self.assertEqual(trip.services.count(), 2)
        self.assertTrue(service1 in trip.services.all())
        self.assertTrue(service2 in trip.services.all())
コード例 #9
0
ファイル: trip.py プロジェクト: jgissend10/django-multi-gtfs
    def test_import_trips_txt_maximal(self):
        trips_txt = StringIO.StringIO("""\
route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id,\
block_id,shape_id
R1,S1,T1,Headsign,HS,0,B1,S1
""")
        service = Service.objects.create(
            feed=self.feed, service_id='S1', start_date=date(2011, 4, 14),
            end_date=date(2011, 12, 31))
        block = Block.objects.create(feed=self.feed, block_id='B1')
        shape = Shape.objects.create(feed=self.feed, shape_id='S1')
        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()
        self.assertEqual(trip.route, self.route)
        self.assertEqual(list(trip.services.all()), [service])
        self.assertEqual(trip.trip_id, 'T1')
        self.assertEqual(trip.headsign, 'Headsign')
        self.assertEqual(trip.short_name, 'HS')
        self.assertEqual(trip.direction, '0')
        self.assertEqual(trip.block, block)
        self.assertEqual(trip.shape, shape)
コード例 #10
0
ファイル: trip.py プロジェクト: derickl/gtfs-server
    def test_import_trips_txt_multiple_services(self):
        '''
        If a trip is associated with several services, only one is created

        Before 0.4.0, the trip was related to both services
        After 0.4.0, the trip is related to only the first service
        '''
        trips_txt = StringIO("""\
route_id,service_id,trip_id
R1,S1,T1
R1,S2,T1
""")
        service1 = Service.objects.create(
            feed=self.feed, service_id='S1', start_date=date(2011, 4, 14),
            end_date=date(2011, 12, 31))
        service2 = Service.objects.create(
            feed=self.feed, service_id='S2', start_date=date(2012, 1, 1),
            end_date=date(2012, 4, 14))

        Trip.import_txt(trips_txt, self.feed)
        trip = Trip.objects.get()
        self.assertEqual(trip.route, self.route)
        self.assertEqual(trip.service, service1)
        self.assertFalse(service2.trip_set.exists())