コード例 #1
0
        public void DefaultValues()
        {
            if (Runtime.Arch != Arch.DEVICE)
            {
                Assert.Inconclusive("This test only works on device (the simulator does not have an iPod Music library).");
            }

            TestRuntime.RequestMediaLibraryPermission(true);

            using (var q = new MPMediaQuery()) {
                var items = q.Items;
                if (items == null)
                {
                    Assert.Inconclusive("This test needs media library privacy permission to be executed.");
                }
                if (items.Length == 0)
                {
                    Assert.Inconclusive("This test needs music in the music library on the device.");
                }

                var six_dot_oh    = TestRuntime.CheckSystemAndSDKVersion(6, 0);
                var nine_dot_two  = TestRuntime.CheckSystemAndSDKVersion(9, 2);
                var ten_dot_oh    = TestRuntime.CheckSystemAndSDKVersion(10, 0);
                var ten_dot_three = TestRuntime.CheckSystemAndSDKVersion(10, 3);

                foreach (var i in items)
                {
                    object dummy;
                    Assert.DoesNotThrow(() => dummy = i.AlbumArtist, "AlbumArtist");
                    Assert.DoesNotThrow(() => dummy = i.AlbumArtistPersistentID, "AlbumArtistPersistentID");
                    Assert.DoesNotThrow(() => dummy = i.AlbumPersistentID, "AlbumPersistentID");
                    Assert.DoesNotThrow(() => dummy = i.AlbumTitle, "AlbumTitle");
                    Assert.DoesNotThrow(() => dummy = i.AlbumTrackCount, "AlbumTrackCount");
                    Assert.DoesNotThrow(() => dummy = i.AlbumTrackNumber, "AlbumTrackNumber");
                    Assert.DoesNotThrow(() => dummy = i.Artist, "Artist");
                    Assert.DoesNotThrow(() => dummy = i.ArtistPersistentID, "ArtistPersistentID");
                    Assert.DoesNotThrow(() => dummy = i.Artwork, "Artwork");
                    Assert.DoesNotThrow(() => dummy = i.AssetURL, "AssetURL");
                    Assert.DoesNotThrow(() => dummy = i.BeatsPerMinute, "BeatsPerMinute");
                    Assert.DoesNotThrow(() => dummy = i.BookmarkTime, "BookmarkTime");
                    Assert.DoesNotThrow(() => dummy = i.Comments, "Comments");
                    Assert.DoesNotThrow(() => dummy = i.Composer, "Composer");
                    Assert.DoesNotThrow(() => dummy = i.ComposerPersistentID, "ComposerPersistentID");
                    Assert.DoesNotThrow(() => dummy = i.DiscCount, "DiscCount");
                    Assert.DoesNotThrow(() => dummy = i.DiscNumber, "DiscNumber");
                    Assert.DoesNotThrow(() => dummy = i.Genre, "Genre");
                    Assert.DoesNotThrow(() => dummy = i.GenrePersistentID, "GenrePersistentID");
                    if (six_dot_oh)
                    {
                        Assert.DoesNotThrow(() => dummy = i.IsCloudItem, "IsCloudItem");
                    }
                    Assert.DoesNotThrow(() => dummy = i.IsCompilation, "IsCompilation");
                    Assert.DoesNotThrow(() => dummy = i.LastPlayedDate, "LastPlayedDate");
                    Assert.DoesNotThrow(() => dummy = i.Lyrics, "Lyrics");
                    Assert.DoesNotThrow(() => dummy = i.MediaType, "MediaType");
                    Assert.DoesNotThrow(() => dummy = i.PersistentID, "PersistentID");
                    Assert.DoesNotThrow(() => dummy = i.PlaybackDuration, "PlaybackDuration");
                    Assert.DoesNotThrow(() => dummy = i.PlayCount, "PlayCount");
                    Assert.DoesNotThrow(() => dummy = i.PodcastPersistentID, "PodcastPersistentID");
                    Assert.DoesNotThrow(() => dummy = i.PodcastTitle, "PodcastTitle");
                    Assert.DoesNotThrow(() => dummy = i.Rating, "Rating");
                    Assert.DoesNotThrow(() => dummy = i.ReleaseDate, "ReleaseDate");
                    Assert.DoesNotThrow(() => dummy = i.SkipCount, "SkipCount");
                    Assert.DoesNotThrow(() => dummy = i.Title, "Title");
                    Assert.DoesNotThrow(() => dummy = i.UserGrouping, "UserGrouping");
                    if (nine_dot_two)
                    {
                        Assert.DoesNotThrow(() => dummy = i.HasProtectedAsset, "HasProtectedAsset");
                    }
                    if (ten_dot_oh)
                    {
                        Assert.DoesNotThrow(() => dummy = i.IsExplicitItem, "IsExplicitItem");
                        Assert.DoesNotThrow(() => dummy = i.DateAdded, "DateAdded");
                    }
                    if (ten_dot_three)
                    {
                        Assert.DoesNotThrow(() => dummy = i.PlaybackStoreID, "PlaybackStoreID");
                    }
                }
            }
        }