Beispiel #1
0
        public void AddTrack_TrackALreadyExists_ReturnsException()
        {
            //Arrange
            Track track = new Track();
            PlaylistController playlistController = new PlaylistController("Playlist");

            //Act / Assert
            playlistController.AddTrack(track); //Add track to playlist
            playlistController.AddTrack(track); //Add track to playlist second time -> returns exception
        }
        public void TestSearchAndAddTrack()
        {
            UserManager     userManager     = (UserManager)DbInitializer.CreateUserManager();
            PlaylistManager playlistManager = (PlaylistManager)DbInitializer.CreatePlaylistManager();
            var             user            = userManager.ReadUser("*****@*****.**");

            var playlistje = playlistManager.CreatePlaylistForUser("testPlaylist", "teste", "tesje", 2, true, null, user);
            var result     = controller.SearchTrack("kshmr - bazaar");
            var tracks     = result.Data as List <Track>;

            Assert.IsNotNull(tracks);
            Assert.IsTrue(tracks.Any(t => t.Title.ToString().ToLower().Contains("bazaar")));

            var addTrackResult = controller.AddTrack(playlistje.Id, tracks.First().TrackSource.TrackId);

            Assert.IsNotNull(addTrackResult as JsonResult); // if the result is a JsonResult, the track is added successfully

            var playlistResult = controller.View(playlistje.Key) as ViewResult;

            Assert.IsNotNull(playlistResult);

            playlistje = playlistResult.Model as Playlist;

            Assert.IsNotNull(playlistje);
            Assert.AreEqual(1, playlistje.PlaylistTracks.Count);
        }
Beispiel #3
0
        public void SortPlaylistOnArtistName_AtoZ_ReturnTrue()
        {
            //Arrange
            Track track1 = new Track(1, "Z", "ArtistA", 100);
            Track track2 = new Track(1, "X", "ArtistD", 120);
            Track track3 = new Track(1, "A", "ArtistX", 1000);
            Track track4 = new Track(1, "D", "ArtistC", 20);
            PlaylistController tracklist = new PlaylistController("tracklist1");

            //Act
            tracklist.AddTrack(track1);
            tracklist.AddTrack(track2);
            tracklist.AddTrack(track3);
            tracklist.AddTrack(track4);
            tracklist.Playlist.SortTrackList(tracklist.Playlist.Tracks, "Artist", true); // sorts the list from A to Z
            //Assert
            Assert.AreEqual(tracklist.Playlist.Tracks.First.Value, track1);
        }
Beispiel #4
0
        public void SortPlaylistOnDuration_LowToHigh_ReturnTrue()
        {
            //Arrange
            Track track1 = new Track(1, "A", "Artist1", 100);
            Track track2 = new Track(1, "B", "Artist2", 120);
            Track track3 = new Track(1, "C", "Artist3", 1000);
            Track track4 = new Track(1, "D", "Artist4", 20);
            PlaylistController tracklist = new PlaylistController("tracklist1");

            //Act
            tracklist.AddTrack(track1);
            tracklist.AddTrack(track2);
            tracklist.AddTrack(track3);
            tracklist.AddTrack(track4);
            tracklist.Playlist.SortTrackList(tracklist.Playlist.Tracks, "Duration", true); // sorts the list from low to high
            //Assert
            Assert.AreEqual(tracklist.Playlist.Tracks.First.Value, track4);
        }
Beispiel #5
0
        public void SortPlaylistOnTrackName_ZToA_ReturnTrue()
        {
            //Arrange
            Track track1 = new Track(1, "Z", "Artist1", 100);
            Track track2 = new Track(1, "X", "Artist2", 120);
            Track track3 = new Track(1, "A", "Artist3", 1000);
            Track track4 = new Track(1, "D", "Artist4", 20);
            PlaylistController tracklist = new PlaylistController("tracklist1");

            //Act
            tracklist.AddTrack(track1);
            tracklist.AddTrack(track2);
            tracklist.AddTrack(track3);
            tracklist.AddTrack(track4);
            tracklist.Playlist.SortTrackList(tracklist.Playlist.Tracks, "Name", false); // sorts the list from Z to A
            //Assert
            Assert.AreEqual(tracklist.Playlist.Tracks.First.Value, track1);
        }
Beispiel #6
0
        public void FailScenarioSortPlaylistOnArtistName_ZToA_ReturnTrue()
        {
            //Arrange
            Track track1 = new Track(1, "Z", "ArtistA", 100);
            Track track2 = new Track(1, "X", "ArtistD", 120);
            Track track3 = new Track(1, "A", "ArtistX", 1000);
            Track track4 = new Track(1, "D", "ArtistC", 20);
            PlaylistController tracklist = new PlaylistController("tracklist1");

            //Act
            tracklist.AddTrack(track1);
            tracklist.AddTrack(track2);
            tracklist.AddTrack(track3);
            tracklist.AddTrack(track4);
            tracklist.Playlist.SortTrackList(tracklist.Playlist.Tracks, "Artist", false); // sorts the list from Z - A
            //Assert
            Assert.AreNotEqual(tracklist.Playlist.Tracks.First.Value, track2);            // track 3 is the correct first value
        }
Beispiel #7
0
        public void AddTrack_SuccessScenario_ReturnsTrue()
        {
            //Arrange
            bool  result;
            Track track = new Track();
            PlaylistController playlistController = new PlaylistController("Playlist");

            //Act
            playlistController.AddTrack(track);                          //Add track to playlist
            result = playlistController.Playlist.Tracks.Contains(track); //Check if playlist contains the track
            //Assert
            Assert.AreEqual(result, true);                               //Returns true
        }
Beispiel #8
0
        public void RemoveTrack_SuccessScenario_ReturnsFalse()
        {
            //Arrange
            bool  result;
            Track track = new Track();
            PlaylistController playlistController = new PlaylistController("Playlist");

            //Act
            playlistController.AddTrack(track);                          //Add track to playlist
            playlistController.RemoveTrack(track);                       //Remove track from playlist
            result = playlistController.Playlist.Tracks.Contains(track); //Check is playlist contains the track
            //Assert
            Assert.AreEqual(result, false);                              //Returns false
        }
Beispiel #9
0
        public void TestTrackMethod()
        {
            int count = 0;

            //test with tracks in database (only tracks from database wil show album images)
            string sqlQuery = "SELECT idTrack, title, path, duration FROM Track";
            List <Dictionary <string, object> > trackNames = DatabaseConnector.SelectQueryDB(sqlQuery);
            int    idTrack  = 0;
            string title    = "";
            string path     = "";
            int    duration = 0;

            foreach (var dictionary in trackNames) // loop trough results to get the values
            {
                foreach (var key in dictionary)
                {
                    if (key.Key.Equals("idTrack"))            // check if the key contains the id
                    {
                        idTrack = Convert.ToInt32(key.Value); // convert to the variable above
                        count++;                              // add one to the counter to calculate later
                    }
                    else if (key.Key.Equals("title"))
                    {
                        title = key.Value.ToString();
                        count++;
                    }
                    else if (key.Key.Equals("path"))
                    {
                        path = key.Value.ToString();
                        count++;
                    }
                    else if (key.Key.Equals("duration"))
                    {
                        duration = Convert.ToInt32(key.Value);
                        count++;
                    }
                }
                if (count % 4 == 0) // calculate each row of results (the results contain 4 rows)
                {
                    Track databaseTrack = new Track()
                    { // create new track with info from the database
                        TrackId   = idTrack,
                        Name      = title,
                        Artist    = "unknown",
                        Album     = "Unknown",
                        Duration  = duration,
                        AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"" + path),
                    };
                    PlaylistController.AddTrack(databaseTrack); // add track to the queue
                }
            }

            Track testTrack1 = new Track()
            {
                TrackId   = 1,
                Name      = "1",
                Artist    = "Santi",
                Album     = "testalbum",
                Duration  = 120,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\Gun'sRoses.mp3"),
            };
            Track testTrack2 = new Track()
            {
                TrackId   = 2,
                Name      = "2",
                Artist    = "Dio",
                Album     = "testalbum",
                Duration  = 90,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\RingtoneUnatco.mp3"),
            };
            Track testTrack3 = new Track()
            {
                TrackId   = 3,
                Name      = "3",
                Artist    = "Tristan",
                Album     = "testalbum",
                Duration  = 100,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\Gun'sRoses.mp3"),
            };
            Track testTrack4 = new Track()
            {
                TrackId   = 4,
                Name      = "4",
                Artist    = "Marloes",
                Album     = "testalbum",
                Duration  = 70,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\Powerup1.wav"),
            };
            Track testTrack5 = new Track()
            {
                TrackId   = 5,
                Name      = "5",
                Artist    = "Susan",
                Album     = "testalbum",
                Duration  = 70,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\Gun'sRoses.mp3"),
            };
            Track testTrack6 = new Track()
            {
                TrackId   = 6,
                Name      = "Queue1",
                Artist    = "Susan",
                Album     = "testalbum",
                Duration  = 30,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\Gun'sRoses.mp3"),
            };
            Track testTrack7 = new Track()
            {
                TrackId   = 7,
                Name      = "Queue2",
                Artist    = "Solid Snake",
                Album     = "testalbum",
                Duration  = 90,
                AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\MetalGearSolid.mp3"),
            };

            //Track testTrack4 = new Track() { AudioFile = new Uri(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + @"\TestFiles\Powerup1.wav") };
            PlaylistController.AddTrack(testTrack1);
            PlaylistController.AddTrack(testTrack2);
            PlaylistController.AddTrack(testTrack3);
            PlaylistController.AddTrack(testTrack4);
            PlaylistController.AddTrack(testTrack5);


            PlayQueueController.AddTrack(testTrack6);
            PlayQueueController.AddTrack(testTrack7);

            //PlayQueueController.AddTrack(testTrack3);
            //PlayQueueController.AddTrack(testTrack4);


            //Speelt track en zet playlist in wachtrij
            PlayQueueController.PlayTrack(PlaylistController.Playlist.Tracks.First.Value, PlaylistController.Playlist);

            //Zet de CurrentTrack als audio die afgespeeld wordt
            CurrentTrackElement.Source = PlayQueueController.PQ.CurrentTrack.AudioFile;

            MyQueueScreenToViewModel.LoadElements();
        }