示例#1
0
        public void ReturnsOpeningTimes()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = GetMyPlaceId(),
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            AssertInconclusive.NotExceedQuota(result);
            Assert.AreEqual(Status.OK, result.Status);

            // commented out because seems like google doesn't have opening hours for this place anymore

            /*
             * Assert.AreEqual(7, result.Result.OpeningHours.Periods.Count());
             * var sundayPeriod = result.Result.OpeningHours.Periods.First();
             * Assert.That(sundayPeriod.OpenTime.Day, Is.EqualTo(DayOfWeek.Sunday));
             * Assert.That(sundayPeriod.OpenTime.Time, Is.GreaterThanOrEqualTo(0));
             * Assert.That(sundayPeriod.OpenTime.Time, Is.LessThanOrEqualTo(2359));
             * Assert.That(sundayPeriod.CloseTime.Time, Is.GreaterThanOrEqualTo(0));
             * Assert.That(sundayPeriod.CloseTime.Time, Is.LessThanOrEqualTo(2359));
             */
        }
示例#2
0
        public void ReturnsOpeningTimes()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = GetMyPlaceId(),
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.OK, result.Status);

            // commented out because seems like google doesn't have opening hours for this place anymore

            /*
             * Assert.AreEqual(7, result.Result.OpeningHours.Periods.Count());
             * var sundayPeriod = result.Result.OpeningHours.Periods.First();
             * Assert.That(sundayPeriod.OpenTime.Day, Is.EqualTo(DayOfWeek.Sunday));
             * Assert.That(sundayPeriod.OpenTime.Time, Is.GreaterThanOrEqualTo(0));
             * Assert.That(sundayPeriod.OpenTime.Time, Is.LessThanOrEqualTo(2359));
             * Assert.That(sundayPeriod.CloseTime.Time, Is.GreaterThanOrEqualTo(0));
             * Assert.That(sundayPeriod.CloseTime.Time, Is.LessThanOrEqualTo(2359));
             */
        }
示例#3
0
 /// <summary>
 /// If the response status indicates fail because of quota exceeded - mark test as inconclusive.
 /// </summary>
 public static void NotExceedQuota(PlacesDetailsResponse response)
 {
     if (response?.Status == Entities.PlacesDetails.Response.Status.OVER_QUERY_LIMIT)
     {
         throw new InconclusiveException(QuotaExceedMessage);
     }
 }
示例#4
0
        public void ReturnsOpeningTimes()
        {
            if (ApiKey == "")
            {
                Assert.Inconclusive("API key not specified");
            }
            var request = new PlacesDetailsRequest
            {
                ApiKey    = ApiKey,
                Reference = GetMyPlaceReference(),
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.OK, result.Status);
            Assert.AreEqual(7, result.Result.OpeningHours.Periods.Count());
            var sundayPeriod = result.Result.OpeningHours.Periods.First();

            Assert.That(sundayPeriod.OpenTime.Day, Is.EqualTo(DayOfWeek.Sunday));
            Assert.That(sundayPeriod.OpenTime.Time, Is.GreaterThanOrEqualTo(0));
            Assert.That(sundayPeriod.OpenTime.Time, Is.LessThanOrEqualTo(2359));
            Assert.That(sundayPeriod.CloseTime.Time, Is.GreaterThanOrEqualTo(0));
            Assert.That(sundayPeriod.CloseTime.Time, Is.LessThanOrEqualTo(2359));
        }
示例#5
0
        public void ReturnsNotFoundForWrongReferenceString()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey = base.ApiKey,
                // Needs to be a correct looking reference. 1 character too short or long and google will return INVALID_REQUEST instead.
                PlaceId = "ChIJbWWgrQAVkFQReAwrXXWzlYs"
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            AssertInconclusive.NotExceedQuota(result);
            Assert.AreEqual(Status.NOT_FOUND, result.Status);
        }
示例#6
0
        public void ReturnsPhotos()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = "ChIJZ3VuVMQdLz4REP9PWpQ4SIY"
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            AssertInconclusive.NotExceedQuota(result);
            Assert.AreEqual(Status.OK, result.Status);
            Assert.IsNotEmpty(result.Result.Photos);
        }
示例#7
0
        public void ReturnsStronglyTypedPriceLevel()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = GetMyPlaceId(),
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            AssertInconclusive.NotExceedQuota(result);
            Assert.AreEqual(Status.OK, result.Status);
            Assert.That(new PriceLevel[] { result.Result.PriceLevel.Value }, Is.SubsetOf(anyPriceLevel));
        }
示例#8
0
        public async Task ReturnsStronglyTypedPriceLevelAsync()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = await GetMyPlaceIdAsync()
            };

            PlacesDetailsResponse result = await GoogleMaps.PlacesDetails.QueryAsync(request);

            AssertInconclusive.NotExceedQuota(result);
            Assert.AreEqual(Status.OK, result.Status);
            Assert.NotNull(result.Result.PriceLevel);
            Assert.That(new PriceLevel[] { result.Result.PriceLevel.Value }, Is.SubsetOf(_anyPriceLevel));
        }
示例#9
0
        public void ReturnsNotFoundForWrongReferenceString()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey = base.ApiKey,
                // Needs to be a correct looking reference. 1 character too short or long and google will return INVALID_REQUEST instead.
                PlaceId = "ChIJbWWgrQAVkFQReAwrXXWzlYs"
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.NOT_FOUND, result.Status);
        }
示例#10
0
        public void ReturnsPhotos()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = "ChIJZ3VuVMQdLz4REP9PWpQ4SIY"
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.OK, result.Status);
            Assert.IsNotEmpty(result.Result.Photos);
        }
        public void ReturnsStronglyTypedPriceLevel()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey    = ApiKey,
                Reference = GetMyPlaceReference(),
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.OK, result.Status);
            Assert.AreEqual(PriceLevel.Moderate, result.Result.PriceLevel);
        }
        public void ReturnsNotFoundForWrongReferenceString()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey = base.ApiKey,
                // Needs to be a correct looking reference. 1 character too short or long and google will return INVALID_REQUEST instead.
                Reference = "CnRqAAAAvs_8564VF4xq2St_9P-YaCYEep2qa86WfWBcBL6q-264bgWE3vWD1zI5kIcWVOA6r9XA2vOfOKZ3uEMs_FQNQZGpTGxyaaq5aTF8XJD36ZcYMbmPuTP00jVEXBPlEmnUxUuHHbxzDd_7fZwxABkPIhIQ4IypqCmBf4WOCXSnT9jiIRoUi8iVFfW6-txsNpGCFurUqA-qHos"
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.NOT_FOUND, result.Status);
        }
示例#13
0
        public void ReturnsStronglyTypedPriceLevel()
        {
            var request = new PlacesDetailsRequest
            {
                ApiKey  = ApiKey,
                PlaceId = GetMyPlaceId(),
            };

            PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request);

            if (result.Status == Status.OVER_QUERY_LIMIT)
            {
                Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit.");
            }
            Assert.AreEqual(Status.OK, result.Status);

            Assert.That(new PriceLevel[] { result.Result.PriceLevel.Value }, Is.SubsetOf(anyPriceLevel));
        }