コード例 #1
0
        public ReportServiceTest()
        {
            // general arrangement
            _db = new TestContext().GetContext("ReportTest");

            restService = new Mock <IRestService>();
            cityService = new Mock <ICityService>();

            var Response = new What3WordsResponse
            {
                words        = "Three.Word.Address",
                nearestPlace = "SomeOtherPlace"
            };
            var Cities = new List <City>
            {
                new City {
                    CityID = 1, Name = "City"
                },
                new City {
                    CityID = 2, Name = "Alternative City"
                }
            };

            restService.Setup(m => m.GetWhat3WordsAsync(It.IsAny <Double>(), It.IsAny <Double>())).Returns(Task.FromResult(Response));
            cityService.Setup(m => m.GetCities()).Returns(Cities);
            cityService.Setup(m => m.GetOutsideCity()).Returns(new City {
                CityID = 3, Name = "NonCity"
            });
            _svc = new ReportService(restService.Object, cityService.Object, _db);

            // ensure database is empty before each test
            _db.Initialise();
        }// Constructor
コード例 #2
0
        // The API call using System.net
        public async Task <What3WordsResponse> GetWhat3WordsAsync(double lat, double lng)
        {
            if ((lat > 90 || lat < -90) || (lng > 90 || lng < -90))
            {
                throw new Exception("Outside API lat/lng bounds of -90 to 90.");
            }
            What3WordsResponse  W3Wresponse = null;
            HttpResponseMessage response    = await client.GetAsync(
                this.baseQuery + "&coordinates=" +
                lat.ToString("00.000000") + "," +
                lng.ToString("00.000000")
                );

            if (response.IsSuccessStatusCode)
            {
                W3Wresponse = await response.Content.ReadAsAsync <What3WordsResponse>();
            }
            else
            {
                throw new Exception(response.ReasonPhrase);
            }
            return(W3Wresponse);
        }