コード例 #1
0
        public void InstantiateCorrectly()
        {
            MediaFile mediaFile = Create.MediaFile();
            const string title = "title";
            const string album = "album";
            const string artist = "artist";

            Song song = new Song {Title = title, Album = album, Artist = artist, MediaFileId = mediaFile.Id};

            Assert.AreEqual(mediaFile.Id, song.MediaFileId);
            Assert.AreEqual(title, song.Title);
            Assert.AreEqual(album, song.Album);
            Assert.AreEqual(artist, song.Artist);
        }
コード例 #2
0
        public void GetMusicByAlbum()
        {
            Song expectedMusic1 = new Song { Album = "album1", Artist = "fail1", MediaFileId = new Guid(), Title = "fail1" };
            Song expectedMusic2 = new Song { Album = "album1", Artist = "fail2", MediaFileId = new Guid(), Title = "fIlTer" };
            Song expectedMusic3 = new Song { Album = "album2", Artist = "fIlTer", MediaFileId = new Guid(), Title = "fail3" };
            Song expectedMusic4 = new Song { Album = "album1", Artist = "fail4", MediaFileId = new Guid(), Title = "fail4" };

            Repository.Add(expectedMusic1);
            Repository.Add(expectedMusic2);
            Repository.Add(expectedMusic3);
            Repository.Add(expectedMusic4);
            IList<Song> gettedMusics = Repository.GetByAlbum("album1");

            Assert.AreEqual(3, gettedMusics.Count);
            CollectionAssert.Contains(gettedMusics.Select(g => g.Title).ToList(), expectedMusic1.Title);
            CollectionAssert.Contains(gettedMusics.Select(g => g.Title).ToList(), expectedMusic2.Title);
            CollectionAssert.Contains(gettedMusics.Select(g => g.Title).ToList(), expectedMusic4.Title);
        }
コード例 #3
0
        public void GetAlbumByArtist()
        {
            const string artist = "artist1";
            Song expectedMusic1 = new Song { Artist = artist, Album = "album1", MediaFileId = new Guid(), Title = "fail1" };
            Song expectedMusic2 = new Song { Artist = artist, Album = "album1", MediaFileId = new Guid(), Title = "fIlTer" };
            Song expectedMusic3 = new Song { Artist = "artist2", Album = "fIlTer", MediaFileId = new Guid(), Title = "fail3" };
            Song expectedMusic4 = new Song { Artist = artist, Album = "album2", MediaFileId = new Guid(), Title = "fail4" };

            Repository.Add(expectedMusic1);
            Repository.Add(expectedMusic2);
            Repository.Add(expectedMusic3);
            Repository.Add(expectedMusic4);
            IList<string> gettedAlbums = Repository.GetAlbumsByArtist(artist);

            Assert.AreEqual(2, gettedAlbums.Count);
            CollectionAssert.Contains(gettedAlbums.ToList(), expectedMusic1.Album);
            CollectionAssert.Contains(gettedAlbums.ToList(), expectedMusic4.Album);
        }
コード例 #4
0
 public DownloadTask(Song song)
 {
     Song = song;
 }
コード例 #5
0
 public SongToPlay(Song song, bool isPlaying = false, bool isPlayed = false)
 {
     Song = song;
     IsPlaying = isPlaying;
     Played = isPlayed;
 }
コード例 #6
0
 private void DownloadOneSongExecute(Song song)
 {
     TaskObserver.NotifyAddTask(new DownloadTask(song));
 }
コード例 #7
0
 private void AddOneSongToPlayListExecute(Song song)
 {
     PlayerObserver.NotifyAddToPlayList(new ObservableCollection<Song> {song});
 }
コード例 #8
0
 public void AddASong(Song song, MediaFile mediaFile)
 {
     song.MediaFileId = MediaFileRepository.Add(mediaFile).Id;
     SongRepository.Add(song);
 }
コード例 #9
0
 public static void NotifyPlayNewSong(Song song)
 {
     PlaySongHandler handler = PlaySong;
     if (handler != null) handler(song);
 }
コード例 #10
0
 private ObservableCollection<SongToAdd> GetAllSongsFromARootPath(string root)
 {
     IList<SongToAdd> songs = new List<SongToAdd>();
     if (Directory.Exists(root))
     {
         foreach (string path in Directory.GetFiles(root))
         {
             try
             {
                 if (path.EndsWith(".mp3"))
                 {
                     File mp3 = File.Create(path);
                     MediaFile mediaFile = new MediaFile {Content = StreamHelper.ReadToEnd(path)};
                     Song song = new Song
                         {
                             Album = mp3.Tag.Album,
                             Title = mp3.Tag.Title,
                             Artist = mp3.Tag.FirstAlbumArtist
                         };
                     songs.Add(new SongToAdd {IsSelected = true, Song = song, Path = path, MediaFile = mediaFile});
                 }
             }
             //TODO Logger le message
             catch (Exception)
             {
                 continue;
             }
         }
         foreach (string directory in Directory.GetDirectories(root))
         {
             foreach (SongToAdd song in GetAllSongsFromARootPath(directory))
             {
                 songs.Add(song);
             }
         }
     }
     return new ObservableCollection<SongToAdd>(songs);
 }
コード例 #11
0
 public UploadTask(Song song, MediaFile mediaFile)
 {
     Song = song;
     MediaFile = mediaFile;
 }
コード例 #12
0
 private void PlayNewSong(Song song)
 {
     MusicPlayer.Stop();
     CurrentSong = song;
     MediaFile fileToPlay = Service.GetMediaFileById(song.MediaFileId);
     try
     {
         MusicPlayer.Play(fileToPlay.Id, fileToPlay.Content);
     }
     catch (Exception e)
     {
         new PlayException();
     }
 }