Example #1
0
        public async Task SliceTest()
        {
            var res1 = await Tracklist.Clear();

            Assert.True(res1);

            var res2 = await Library.Search(
                queryArtist : "Air Supply",
                queryAlbum : "Strangers In Love"
                );

            Assert.True(res2.Succeeded);
            Assert.True(1 <= res2.Result.Length);
            Assert.True(1 <= res2.Result.First().Tracks.Length);
            var uris = res2.Result.First().Tracks
                       .OrderBy(e => e.TrackNo)
                       .Select(e => e.Uri)
                       .ToArray();

            var res3 = await Tracklist.Add(uris);

            Assert.True(res3.Succeeded);
            Assert.Equal(uris.Length, res3.Result.Length);

            var sliced = new string[]
            {
                uris[5],
                uris[6],
                uris[7],
                uris[8],
            };

            var res4 = await Tracklist.Slice(5, 9);

            Assert.True(res4.Succeeded);
            Assert.Equal(4, res4.Result.Length);

            for (var i = 0; i < sliced.Length; i++)
            {
                Assert.Equal(sliced[i], res4.Result[i].Track.Uri);
            }

            var res5 = await Tracklist.GetTlTracks();

            Assert.True(res5.Succeeded);
            Assert.Equal(uris.Length, res5.Result.Length);

            for (var i = 0; i < uris.Length; i++)
            {
                Assert.Equal(uris[i], res5.Result[i].Track.Uri);
            }
        }