public void RouteTimeTablesRequest_ToString_WithEmptyRoutes_MustThrowArgumentException() { var requestEntity = new RouteTimeTablesRequest { FilterToStartEndStops = true, Date = DateTime.Now.AddDays(1), VehicleType = VehicleType.Bus, }; string expected = requestEntity.ToString(); }
public void RouteTimeTablesRequest_ToString_WithDateNotSet_MustThrowArgumentException() { var requestEntity = new RouteTimeTablesRequest { RouteCodes = new List<string>() { "P137" }, FilterToStartEndStops = true, VehicleType = VehicleType.Bus, }; string expected = requestEntity.ToString(); }
public async Task<HttpResponseMessage> GetRouteTimeTables(RouteTimeTablesRequest request) { var result = CheckCacheForEntry<IRequest, RouteTimeTablesResponse>(request); if (result == null) { Logger.DebugFormat("Getting {0} from web: ", request.ToString()); result = await new OpiaNetworkClient().GetRouteTimeTablesAsync(request); await StoreResultInCache<IRequest, RouteTimeTablesResponse>(request, result); } var response = Request.CreateResponse(HttpStatusCode.OK, result); return response; }
public async Task GetRouteTimeTablesAsync_MustGetRouteTimeTables() { var requestEntity = new RouteTimeTablesRequest { Date = DateTime.Today.AddDays(1), // remember some express pre-paid routes don't run on weekends, P137 I am looking at you :) FilterToStartEndStops = false, VehicleType = VehicleType.Bus }; requestEntity.RouteCodes.Add("130"); var networkRequestClient = new OpiaNetworkClient(); var result = await networkRequestClient.GetRouteTimeTablesAsync(requestEntity); Assert.IsTrue(result.RouteTimeTables.Any()); }
public void GetRouteTimeTables_MustGetRouteTimeTables() { var requestEntity = new RouteTimeTablesRequest { Date = DateTime.Today.AddDays(1), // remember some express pre-paid routes don't run on weekends, P137 I am looking at you :) FilterToStartEndStops = false, VehicleType = VehicleType.Bus }; requestEntity.RouteCodes.Add("130"); var response = _client.PostAsJsonAsync("network/getroutetimetables", requestEntity).Result; response.EnsureSuccessStatusCode(); var result = response.Content.ReadAsAsync<RouteTimeTablesResponse>().Result; Assert.IsTrue(result.RouteTimeTables.Any()); }
private IEnumerable<RouteTimeTable> GetRouteTimeTablesFor(string routeNo) { var requestEntity = new RouteTimeTablesRequest { RouteCodes = new List<string> { routeNo }, Date = DateTime.Today.AddDays(1), // remember some express pre-paid bus routes don't run on weekends e.g. P137 FilterToStartEndStops = false, VehicleType = VehicleType.Bus }; var response = _client.PostAsJsonAsync("network/getroutetimetables", requestEntity).Result; response.EnsureSuccessStatusCode(); var routeTimeTables = response.Content.ReadAsAsync<RouteTimeTablesResponse>().Result.RouteTimeTables.ToList(); return routeTimeTables; }
public void RouteTimeTablesRequest_ToString_WithMandatoryValuesSet_MustReturnCorrectQueryString() { var requestEntity = new RouteTimeTablesRequest { RouteCodes = new List<string>(){"P137", "130"}, FilterToStartEndStops = true, VehicleType = VehicleType.Bus, Date = DateTime.Now.AddDays(1), }; // route-timetables?routeCodes=P137,130&date=2013-08-07&vehicleType=2&filterToStartEndStops=true string expected = string.Format("route-timetables?routeCodes=P137,130&date={0}&vehicleType=2&filterToStartEndStops=true", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); string actual = requestEntity.ToString(); Assert.AreEqual(expected, actual); }