public async void Should_Return_More_Than_One_Entity(SubwayLines lines) { var msg = await MtaFeedService.GetCurrentRealtimeFeedMessage(lines); Assert.That(msg.Entity.Count, Is.GreaterThan(0)); //PrintEntityList(lines, msg); }
protected static void PrintEntityList(SubwayLines lines, FeedMessage msg) { Console.WriteLine("Entity Count for {0}: {1}", lines.ToString(), msg.Entity.Count); Console.WriteLine(); Console.WriteLine("================================="); Console.WriteLine("Entity Breakdown"); Console.WriteLine("================================="); Console.WriteLine("Trip Updates: {0}", msg.Entity.Count(e => e.TripUpdate != null)); Console.WriteLine("Vehicle Positions: {0}", msg.Entity.Count(e => e.Vehicle != null)); Console.WriteLine("Alerts: {0}", msg.Entity.Count(e => e.Alert != null)); Console.WriteLine(); Console.WriteLine("================================="); Console.WriteLine("Trip Updates"); Console.WriteLine("================================="); foreach (var entity in msg.Entity.Where(e => e.TripUpdate != null)) { PrintTripUpdate(entity); } Console.WriteLine(); Console.WriteLine("================================="); Console.WriteLine("Vehicle Positions"); Console.WriteLine("================================="); foreach (var entity in msg.Entity.Where(e => e.Vehicle != null)) { PrintVehiclePosition(entity); } Console.WriteLine(); Console.WriteLine("================================="); Console.WriteLine("Alerts"); Console.WriteLine("================================="); foreach (var entity in msg.Entity.Where(e => e.Alert != null)) { PrintAlert(entity); } }
public List <Station> GetLineByLabel(string lineLabel) { List <Station> line = new List <Station>(); SubwayLine subwayLine = SubwayLines.Find(w => w.Label == lineLabel); if (subwayLine != null) { line = GetLine(subwayLine.Name); } return(line); }
public async Task<FeedMessage> GetCurrentRealtimeFeedMessage(SubwayLines lines) { var requestUrl = _baseUrl + (int) lines; using (var client = new HttpClient()) { var resultStream = client.GetStreamAsync(requestUrl); try { return Serializer.Deserialize<FeedMessage>(await resultStream); } catch (Exception e) { // TODO Save the stream so we can debug it. Console.WriteLine(e); throw; } } }
public void AddSubwayLine(string name, string label, string color) { SubwayLines.Add(new SubwayLine(name, label, color)); }