Esempio n. 1
0
def bart_info():
    bart = BartApi()
    dbrk = bart.etd("DBRK")
    result = {}

    for x in dbrk:
        destination = x['destination']
        value = (x['estimates'][0]['hexcolor'],
                 [train['minutes'] for train in x['estimates']][0:2])
        result[destination] = value
    return result
Esempio n. 2
0
class TestBartApi(unittest.TestCase):

  def setUp(self):
    self.bart = BartApi()
  
  def test_api_key(self):
    expected = "MW9S-E7SL-26DU-VV8V"
    actual = self.bart.api_key
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_number_of_trains(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/train_count.xml') as f:
      raw_xml = f.read()
    mock_urlopen.return_value = raw_xml.encode('utf-8')
    expected="51"
    actual = self.bart.number_of_trains()
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_elevator_status(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/elev.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected=" Attention passengers: All elevators are in service. Thank You. "
    actual = self.bart.elevator_status()
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_get_stations(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/station_list.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected = "West Oakland"
    stations = self.bart.get_stations()
    actual = stations[1].get("name")
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_bsa_all(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/bsa.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected2 = "No delays reported."
    actual2 = self.bart.bsa()
    self.assertEqual(expected2, actual2)
  
  @patch('bart_api.urlopen')
  def test_bsa_specific(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/bsa_woak.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected = "No delays reported."
    actual = self.bart.bsa("WOAK")
    self.assertEqual(expected, actual)
  
  @patch('bart_api.urlopen')
  def test_station_info(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/station_info.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected = "94110"
    station_info = self.bart.station_info("24TH")
    actual = station_info.get("zipcode")
    self.assertEqual(expected, actual)
  
  @patch('bart_api.urlopen')
  def test_station_access(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/station_access.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected = None
    station_info = self.bart.station_access("12TH", "1")
    actual = station_info.get("car_share")
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_etd(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/etd.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected = "2"
    station_info = self.bart.etd("RICH", "2", "s")
    actual = station_info[0].get("estimates")[0].get("platform")
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_routes(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/routes.xml') as f:
      raw_xml = f.read().encode('utf-8')
    mock_urlopen.return_value = raw_xml
    expected = "1"
    station_info = self.bart.routes("26", "today")
    actual = station_info[0].get("number")
    self.assertEqual(expected, actual)
  
  @patch('bart_api.urlopen')
  def test_route_infO(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/route_info.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "BALB"
    station_info = self.bart.route_info("6", "26", "today")
    actual = station_info.get('config')[1]
    self.assertEqual(expected, actual)
  
  @patch('bart_api.urlopen')
  def test_get_holidays(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/holiday.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "Presidents' Day"
    actual = self.bart.get_holidays()[1].get('name')
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_get_schedules(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/schedules.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "26"
    actual = self.bart.get_schedules()[0].get('id')
    self.assertEqual(expected, actual)
  
  @patch('bart_api.urlopen')
  def test_get_special_schedules(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/special_schedules.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "DUBL"
    actual = self.bart.get_special_schedules().get('orig')
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_get_station_schedule(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/station_schedule.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "ROUTE 7"
    actual = self.bart.get_station_schedule("12th")[0].get("line")
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_get_route_schedule(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/route_schedule.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "6:13 AM"
    actual = self.bart.get_route_schedule("6","today").get("1").get("DALY").get("orig_time")
    self.assertEqual(expected, actual)

  @patch('bart_api.urlopen')
  def test_get_fare(self,mock_urlopen):
    a = Mock()
    with open('bart_api/test/mocks/fare.xml') as f:
      raw_xml = f.read().encode('utf-8')
      mock_urlopen.return_value = raw_xml
    expected = "3.15"
    actual = self.bart.get_fare("12th", "embr").get("fare")
    self.assertEqual(expected, actual)
Esempio n. 3
0
 def setUp(self):
   self.bart = BartApi()
Esempio n. 4
0
 def setUp(self):
     self.bart = BartApi()
     self._cur_sched = None
Esempio n. 5
0
class TestBartApi(unittest.TestCase):
    def setUp(self):
        self.bart = BartApi()
        self._cur_sched = None

    @property
    def cur_sched(self):
        if not self._cur_sched:
            self._cur_sched = self.bart.get_schedules()[-1]['id']
        return self._cur_sched

    def test_api_key(self):
        expected = "MW9S-E7SL-26DU-VV8V"
        actual = self.bart.api_key
        self.assertEqual(expected, actual)

    def test_number_of_trains(self):
        expected = 45
        actual = int(self.bart.number_of_trains())
        self.assertLess(expected, actual)

    def test_elevator_status(self):
        expected = 10
        actual = len(self.bart.elevator_status())
        self.assertLess(expected, actual)

    def test_get_stations(self):
        expected = "12th St. Oakland City Center"
        stations = self.bart.get_stations()
        actual = stations[0].get("name")
        self.assertEqual(expected, actual)

    def test_bsa_all(self):
        expected = 10
        actual = len(self.bart.bsa())
        self.assertLess(expected, actual)

    def test_bsa_specific(self):
        expected = 10
        actual = len(self.bart.bsa("WOAK"))
        self.assertLess(expected, actual)

    def test_station_info(self):
        expected = "94110"
        station_info = self.bart.station_info("24TH")
        actual = station_info.get("zipcode")
        self.assertEqual(expected, actual)

    def test_station_access(self):
        expected = ""
        station_info = self.bart.station_access("12TH", "1")
        actual = station_info.get("car_share")
        self.assertEqual(expected, actual)

    def test_etd(self):
        expected = "2"
        station_info = self.bart.etd("RICH", "2", "s")
        actual = station_info[0].get("estimates")[0].get("platform")
        self.assertEqual(expected, actual)

    def test_routes(self):
        expected = "1"
        station_info = self.bart.routes(self.cur_sched)
        actual = station_info[0].get("number")
        self.assertEqual(expected, actual)

    def test_route_info(self):
        expected = "BALB"
        station_info = self.bart.route_info("6", self.cur_sched, "today")
        actual = station_info.get('config')[1]
        self.assertEqual(expected, actual)

    def test_get_holidays(self):
        expected = "Day"
        # They all in "Day"
        actual = self.bart.get_holidays()[1].get('name')[-3:]
        self.assertEqual(expected, actual)

    def test_get_special_schedules(self):
        expected = 5
        # Example: 'routes_affected': 'ROUTE 3, ROUTE 4, ROUTE 5, ROUTE 6'
        actual = len(self.bart.get_special_schedules().get('routes_affected'))
        self.assertLess(expected, actual)

    def test_get_station_schedule(self):
        expected = "ROUTE 7"
        actual = self.bart.get_station_schedule("12th")[0].get("line")
        self.assertEqual(expected, actual)

    def test_get_route_schedule(self):
        expected = "6:13 AM"
        actual = self.bart.get_route_schedule("6").get("1").get("DALY").get(
            "orig_time")
        self.assertEqual(expected, actual)

    def test_get_fare(self):
        expected = "3.15"
        actual = self.bart.get_fare("12th", "embr").get("fare")
        self.assertLess(expected, actual)
Esempio n. 6
0
class TestBartApi(unittest.TestCase):

  def setUp(self):
    self.bart = BartApi()
    self._cur_sched = None

  @property
  def cur_sched(self):
    if not self._cur_sched:
      self._cur_sched = self.bart.get_schedules()[-1]['id']
    return self._cur_sched

  def test_api_key(self):
    expected = "MW9S-E7SL-26DU-VV8V"
    actual = self.bart.api_key
    self.assertEqual(expected, actual)

  def test_number_of_trains(self):
    expected = 45
    actual = int(self.bart.number_of_trains())
    self.assertLess(expected, actual)

  def test_elevator_status(self):
    expected = 10
    actual = len(self.bart.elevator_status())
    self.assertLess(expected, actual)

  def test_get_stations(self):
    expected = "12th St. Oakland City Center"
    stations = self.bart.get_stations()
    actual = stations[0].get("name")
    self.assertEqual(expected, actual)

  def test_bsa_all(self):
    expected = 10
    actual = len(self.bart.bsa())
    self.assertLess(expected, actual)
  
  def test_bsa_specific(self):
    expected = 10
    actual = len(self.bart.bsa("WOAK"))
    self.assertLess(expected, actual)
  
  def test_station_info(self):
    expected = "94110"
    station_info = self.bart.station_info("24TH")
    actual = station_info.get("zipcode")
    self.assertEqual(expected, actual)
  
  def test_station_access(self):
    expected = "" 
    station_info = self.bart.station_access("12TH", "1")
    actual = station_info.get("car_share")
    self.assertEqual(expected, actual)

  def test_etd(self):
    expected = "2"
    station_info = self.bart.etd("RICH", "2", "s")
    actual = station_info[0].get("estimates")[0].get("platform")
    self.assertEqual(expected, actual)

  def test_routes(self):
    expected = "1"
    station_info = self.bart.routes(self.cur_sched)
    actual = station_info[0].get("number")
    self.assertEqual(expected, actual)
  
  def test_route_info(self):
    expected = "BALB"
    station_info = self.bart.route_info("6", self.cur_sched, "today")
    actual = station_info.get('config')[1]
    self.assertEqual(expected, actual)
  
  def test_get_holidays(self):
    expected = "Day"
    # They all in "Day"
    actual = self.bart.get_holidays()[1].get('name')[-3:]
    self.assertEqual(expected, actual)

  def test_get_special_schedules(self):
    expected = 5
    # Example: 'routes_affected': 'ROUTE 3, ROUTE 4, ROUTE 5, ROUTE 6'
    actual = len(self.bart.get_special_schedules().get('routes_affected'))
    self.assertLess(expected, actual)

  def test_get_station_schedule(self):
    expected = "ROUTE 7"
    actual = self.bart.get_station_schedule("12th")[0].get("line")
    self.assertEqual(expected, actual)

  def test_get_route_schedule(self):
    expected = "6:13 AM"
    actual = self.bart.get_route_schedule("6").get("1").get("DALY").get("orig_time")
    self.assertEqual(expected, actual)

  def test_get_fare(self):
    expected = "3.15"
    actual = self.bart.get_fare("12th", "embr").get("fare")
    self.assertLess(expected, actual)
Esempio n. 7
0
 def setUp(self):
   self.bart = BartApi()
   self._cur_sched = None
Esempio n. 8
0
 def setUp(self):
     self.bart = BartApi()
Esempio n. 9
0
class TestBartApi(unittest.TestCase):
    def setUp(self):
        self.bart = BartApi()

    def test_api_key(self):
        expected = "MW9S-E7SL-26DU-VV8V"
        actual = self.bart.api_key
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_number_of_trains(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/train_count.xml') as f:
            raw_xml = f.read()
        mock_urlopen.return_value = raw_xml.encode('utf-8')
        expected = "51"
        actual = self.bart.number_of_trains()
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_elevator_status(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/elev.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = " Attention passengers: All elevators are in service. Thank You. "
        actual = self.bart.elevator_status()
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_stations(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/station_list.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = "West Oakland"
        stations = self.bart.get_stations()
        actual = stations[1].get("name")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_bsa_all(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/bsa.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected2 = "No delays reported."
        actual2 = self.bart.bsa()
        self.assertEqual(expected2, actual2)

    @patch('bart_api.urlopen')
    def test_bsa_specific(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/bsa_woak.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = "No delays reported."
        actual = self.bart.bsa("WOAK")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_station_info(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/station_info.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = "94110"
        station_info = self.bart.station_info("24TH")
        actual = station_info.get("zipcode")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_station_access(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/station_access.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = None
        station_info = self.bart.station_access("12TH", "1")
        actual = station_info.get("car_share")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_etd(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/etd.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = "2"
        station_info = self.bart.etd("RICH", "2", "s")
        actual = station_info[0].get("estimates")[0].get("platform")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_routes(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/routes.xml') as f:
            raw_xml = f.read().encode('utf-8')
        mock_urlopen.return_value = raw_xml
        expected = "1"
        station_info = self.bart.routes("26", "today")
        actual = station_info[0].get("number")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_route_infO(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/route_info.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "BALB"
        station_info = self.bart.route_info("6", "26", "today")
        actual = station_info.get('config')[1]
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_holidays(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/holiday.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "Presidents' Day"
        actual = self.bart.get_holidays()[1].get('name')
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_schedules(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/schedules.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "26"
        actual = self.bart.get_schedules()[0].get('id')
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_special_schedules(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/special_schedules.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "DUBL"
        actual = self.bart.get_special_schedules().get('orig')
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_station_schedule(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/station_schedule.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "ROUTE 7"
        actual = self.bart.get_station_schedule("12th")[0].get("line")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_route_schedule(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/route_schedule.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "6:13 AM"
        actual = self.bart.get_route_schedule(
            "6", "today").get("1").get("DALY").get("orig_time")
        self.assertEqual(expected, actual)

    @patch('bart_api.urlopen')
    def test_get_fare(self, mock_urlopen):
        a = Mock()
        with open('bart_api/test/mocks/fare.xml') as f:
            raw_xml = f.read().encode('utf-8')
            mock_urlopen.return_value = raw_xml
        expected = "3.15"
        actual = self.bart.get_fare("12th", "embr").get("fare")
        self.assertEqual(expected, actual)