public async Task<HttpResponseMessage> GetStopTimeTables(StopTimeTablesRequest request)
 {
     var result = CheckCacheForEntry<IRequest, StopTimeTablesResponse>(request);
     if (result == null)
     {
         Logger.DebugFormat("Getting {0} from web: ", request.ToString());
         result = await new OpiaNetworkClient().GetStopTimeTablesAsync(request);
         await StoreResultInCache<IRequest, StopTimeTablesResponse>(request, result);
     }
     var response = Request.CreateResponse(HttpStatusCode.OK, result);
     return response;
 }
 public void StopTimeTablesRequest_ToString_WithEmptyStopIds_MustThrowArgumentException()
 {
     var requestEntity = new StopTimeTablesRequest
     {
         Date = DateTime.Now.AddDays(1),
     };
     string expected = requestEntity.ToString();
 }
 public void StopTimeTablesRequest_ToString_WithMandatoryValuesSet_MustReturnCorrectQueryString()
 {
     var requestEntity = new StopTimeTablesRequest
                 {
                     StopIds = new List<string>() {"148", "5840"},
                     Date = DateTime.Now.AddDays(1),
                     RouteCodesFilter = new List<string>() {"131", "P129"}
                 };
     string expected = string.Format("stop-timetables?stopIds=148,5840&date={0}&routeFilter=131,P129", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"));
     string actual = requestEntity.ToString();
     Assert.AreEqual(expected, actual);
 }
 public void StopTimeTablesRequest_ToString_WithDateNotSet_MustThrowArgumentException()
 {
     var requestEntity = new StopTimeTablesRequest
     {
         StopIds = new List<string>() { "148", "5840" },
     };
     string expected = requestEntity.ToString();
 }