public async Task EnsureGetArtistsAroundLocationReturnsErrorForFailedCall()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_noresults));
     ListResponse<Artist> result = await client.GetArtistsAroundLocationAsync(51.45534, -2.59239);
     Assert.IsNotNull(result, "Expected a result");
     Assert.IsNotNull(result.StatusCode, "Expected a status code");
     Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
     Assert.AreEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a 200 response");
     Assert.IsNotNull(result.Result, "Expected a list of results");
     Assert.IsNull(result.Error, "Expected no error");
     Assert.AreEqual(result.Result.Count, 0, "Expected 0 results");
 }
Ejemplo n.º 2
0
        public async Task EnsureGetArtistsAroundLocationReturnsErrorForFailedCall()
        {
            IMusicClient          client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_noresults));
            ListResponse <Artist> result = await client.GetArtistsAroundLocationAsync(51.45534, -2.59239);

            Assert.IsNotNull(result, "Expected a result");
            Assert.IsNotNull(result.StatusCode, "Expected a status code");
            Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a 200 response");
            Assert.IsNotNull(result.Result, "Expected a list of results");
            Assert.IsNull(result.Error, "Expected no error");
            Assert.AreEqual(result.Result.Count, 0, "Expected 0 results");
        }
        public async Task EnsureGetArtistsAroundLocationReturnsArtistsForValidSearch()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
            ListResponse<Artist> result = await client.GetArtistsAroundLocationAsync(51.45534, -2.59239);
            Assert.IsNotNull(result, "Expected a result");
            Assert.IsNotNull(result.StatusCode, "Expected a status code");
            Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a 200 response");
            Assert.IsNotNull(result.Result, "Expected a list of results");
            Assert.IsNull(result.Error, "Expected no error");
            Assert.Greater(result.Result.Count, 0, "Expected more than 0 results");

            foreach (Artist artist in result.Result)
            {
                Assert.IsFalse(string.IsNullOrEmpty(artist.Id), "Expected Id to be populated");
                Assert.IsFalse(string.IsNullOrEmpty(artist.Name), "Expected Name to be populated");
                Assert.IsNotNull(artist.Genres, "Expected a genre list");
                Assert.Greater(artist.Genres.Length, 0, "Expected more than 0 genres");
            }
        }
Ejemplo n.º 4
0
        public async Task EnsureGetArtistsAroundLocationReturnsArtistsForValidSearch()
        {
            IMusicClient          client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
            ListResponse <Artist> result = await client.GetArtistsAroundLocationAsync(51.45534, -2.59239);

            Assert.IsNotNull(result, "Expected a result");
            Assert.IsNotNull(result.StatusCode, "Expected a status code");
            Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a 200 response");
            Assert.IsNotNull(result.Result, "Expected a list of results");
            Assert.IsNull(result.Error, "Expected no error");
            Assert.Greater(result.Result.Count, 0, "Expected more than 0 results");

            foreach (Artist artist in result.Result)
            {
                Assert.IsFalse(string.IsNullOrEmpty(artist.Id), "Expected Id to be populated");
                Assert.IsFalse(string.IsNullOrEmpty(artist.Name), "Expected Name to be populated");
                Assert.IsNotNull(artist.Genres, "Expected a genre list");
                Assert.Greater(artist.Genres.Length, 0, "Expected more than 0 genres");
            }
        }
Ejemplo n.º 5
0
        public void EnsureGetArtistsAroundLocationAcceptsZeroLongitude()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));

            client.GetArtistsAroundLocationAsync(51.45534, 0).Wait();
        }
Ejemplo n.º 6
0
        public void EnsureThatADefaultZeroValueIsTreatedAsNull()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));

            client.GetArtistsAroundLocationAsync(0, 0).Wait();
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Requests artists and bands originating nearby map center.
        /// Each artist/band is represented on the map as Pushpin.
        /// </summary>
        /// <param name="sender">Refresh menu item</param>
        /// <param name="e">Event arguments</param>
        private async void GetNearbyArtists()
        {
            // Only one artist search can be ongoing at a time.
            if (busyIndicator.IsVisible)
            {
                return;
            }

            busyIndicator.IsVisible = true;
            prevSearchCoordinate    = Map.Center;

            // Sign up for api appId at http://dev.mixrad.io
            if (client == null)
            {
                client = new MusicClient(MixRadio.TestApp.ApiKeys.ClientId);
            }

            var res = await client.GetArtistsAroundLocationAsync(Map.Center.Latitude, Map.Center.Longitude, 50, 0, 40);

            if (res.Result != null)
            {
                if (nearbyArtists == null)
                {
                    nearbyArtists             = new ObservableCollection <Artist>();
                    this.MapItems.ItemsSource = nearbyArtists;
                }
                for (int i = 0; i < res.Result.Count; i++)
                {
                    int removeBandIndex = 0;

                    // Add unique artists until MAX_ARTISTS_COUNT is reached.
                    // Removal is made beginning from the oldest results,
                    // excluding artists in the result set.
                    if (!nearbyArtists.Contains(res.Result[i]))
                    {
                        nearbyArtists.Add(res.Result[i]);
                    }

                    if (nearbyArtists.Count > MAX_ARTISTS_COUNT)
                    {
                        while (res.Result.Contains(nearbyArtists[removeBandIndex]))
                        {
                            removeBandIndex++;
                            if (removeBandIndex > MAX_ARTISTS_COUNT)
                            {
                                break;
                            }
                        }
                        nearbyArtists.RemoveAt(removeBandIndex);
                    }
                }
            }

            busyIndicator.IsVisible = false;

            // Make a new request if the map center changed during operation.
            if (prevSearchCoordinate != Map.Center)
            {
                GetNearbyArtists();
            }
        }
 public void EnsureGetArtistsAroundLocationAcceptsZeroLongitude()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
     client.GetArtistsAroundLocationAsync(51.45534, 0).Wait();
 }
 public void EnsureThatADefaultZeroValueIsTreatedAsNull()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
     client.GetArtistsAroundLocationAsync(0, 0).Wait();
 }
 public async void EnsureAsyncGetArtistsAroundLocationReturnsItems()
 {
     // Only test happy path, as the MusicClient tests cover the unhappy path
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
     ListResponse<Artist> result = await client.GetArtistsAroundLocationAsync(51.45534, -2.59239);
     Assert.Greater(result.Result.Count, 0, "Expected more than 0 results");
 }
 public async Task EnsureGetArtistsAroundLocationAcceptsZeroLatitude()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
     await client.GetArtistsAroundLocationAsync(0, -2.59239);
 }
 public async Task EnsureGetArtistsAroundLocationAcceptsZeroLatitude()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_artists));
     await client.GetArtistsAroundLocationAsync(0, -2.59239);
 }