コード例 #1
0
        /// <summary>
        /// Retrieves available genres from MixRadio API.
        /// </summary>
        public async void GetGenres()
        {
            if (!initialized)
            {
                return;
            }

            ShowProgressIndicator("GetGenres()");
            ListResponse <Genre> response = await client.GetGenresAsync();

            // Use results
            if (response != null && response.Result != null && response.Result.Count > 0)
            {
                int genreCount = response.Count();
                App.ViewModel.Genres.Clear();

                foreach (Genre g in response.Result)
                {
                    App.ViewModel.Genres.Add(new GenreModel()
                    {
                        Name = g.Name, Id = g.Id
                    });
                }
            }
            if (response != null && response.Error != null)
            {
                ShowMixRadioApiError();
            }
            HideProgressIndicator("GetGenres()");
        }
コード例 #2
0
        public async void EnsureAsyncGetGenresReturnsItems()
        {
            // Only test happy path, as the MusicClient tests cover the unhappy path
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.genres));

            ListResponse<Genre> result = await client.GetGenresAsync();
            Assert.Greater(result.Result.Count, 0, "Expected more than 0 results");
        }
コード例 #3
0
ファイル: GenreTests.cs プロジェクト: ni3bobade/.net-sdk
 public async Task EnsureGetGenresReturnsAnUnhandledErrorForFailedCall()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.ConflictServerError("{ \"error\":\"true\"}")));
     var result = await client.GetGenresAsync();
     Assert.IsNotNull(result, "Expected a result");
     Assert.IsNotNull(result.StatusCode, "Expected a status code");
     Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
     Assert.AreNotEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a non-OK response");
     Assert.IsNotNull(result.Error, "Expected an error");
     Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException");
 }
コード例 #4
0
        public async Task EnsureGetGenresReturnsAnUnhandledErrorForFailedCall()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.ConflictServerError("{ \"error\":\"true\"}")));
            var          result = await client.GetGenresAsync();

            Assert.IsNotNull(result, "Expected a result");
            Assert.IsNotNull(result.StatusCode, "Expected a status code");
            Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
            Assert.AreNotEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a non-OK response");
            Assert.IsNotNull(result.Error, "Expected an error");
            Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException");
        }
コード例 #5
0
 public void EnsureGetGenresReturnsErrorForFailedCall()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.InternalServerError()));
     var task = client.GetGenresAsync();
     task.Wait();
     ListResponse<Genre> result = task.Result;
     Assert.IsNotNull(result, "Expected a result");
     Assert.IsNotNull(result.StatusCode, "Expected a status code");
     Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
     Assert.AreNotEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a non-OK response");
     Assert.IsNotNull(result.Error, "Expected an error");
     Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException");
 }
コード例 #6
0
        public void EnsureGetGenresReturnsErrorForFailedCall()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.InternalServerError()));
            var          task   = client.GetGenresAsync();

            task.Wait();
            ListResponse <Genre> result = task.Result;

            Assert.IsNotNull(result, "Expected a result");
            Assert.IsNotNull(result.StatusCode, "Expected a status code");
            Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
            Assert.AreNotEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a non-OK response");
            Assert.IsNotNull(result.Error, "Expected an error");
            Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException");
        }
コード例 #7
0
ファイル: GenreTests.cs プロジェクト: ni3bobade/.net-sdk
        public async Task EnsureGetGenresReturnsItems()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.genres));
            var result = await client.GetGenresAsync();
            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 (Genre genre in result.Result)
            {
                Assert.IsFalse(string.IsNullOrEmpty(genre.Id), "Expected Id to be populated");
                Assert.IsFalse(string.IsNullOrEmpty(genre.Name), "Expected Name to be populated");
            }
        }
コード例 #8
0
        public async Task EnsureGetGenresReturnsItems()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.genres));
            var          result = await client.GetGenresAsync();

            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 (Genre genre in result.Result)
            {
                Assert.IsFalse(string.IsNullOrEmpty(genre.Id), "Expected Id to be populated");
                Assert.IsFalse(string.IsNullOrEmpty(genre.Name), "Expected Name to be populated");
            }
        }