package itunesJr; import java.sql.Date; import java.util.ArrayList; import junit.framework.TestCase; public class PublicTests extends TestCase { public void testAddSong() { MediaManagerSystem manager = new MediaManagerSystem(); manager.addSong("Hello", "Lionel Richie", Date.valueOf("1985-02-07"), "Last Album", 260, "Nice album", "hello.avi", 0, "pop"); manager.addSong("Dancing in the Ceiling", "Lionel Richie", Date.valueOf("1984-12-07"), "Last Album", 200, "Nice album", "dancingInTheCeiling.avi", 0, "pop"); String results = manager.getAllTitlesInfo().toString(); assertTrue(TestingSupport.correctResults("testAddSong.txt", results)); } public void testTitlesInfo() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("onlySongs.txt"); String results = manager.getAllTitlesInfo() + "\n" + manager.getTitleInfo("Tu"); assertTrue(TestingSupport.correctResults("testTitlesInfo.txt", results)); } public void testAddPodcast() { MediaManagerSystem manager = new MediaManagerSystem(); manager.addPodcast("WashingtonInfo", "http://rss.washingtonInfo.madeup", Date.valueOf("2006-02-09"), "Podcast with info about DC"); String results = manager.getPodcastInfo("WashingtonInfo"); assertTrue(TestingSupport.correctResults("testAddPodcast.txt", results)); } public void testUpdateGetPodcast() { MediaManagerSystem manager = new MediaManagerSystem(); String podcastName = "WashingtonInfo"; manager.addPodcast(podcastName, "http://rss.washingtonInfo.madeup", Date.valueOf("2006-02-09"), "Podcast with info about DC"); podcastName = "PoliticsToday"; manager.addPodcast(podcastName, "http://rss.politicsToday.madeup", Date.valueOf("2005-12-09"), "Podcast with info about politics in DC"); manager.updatePodcastWithTitle(podcastName, "Weekend Guide", "John Smith", Date.valueOf("2006-02-04"), 220, "What to do in dc", "weekendGuide.mp3"); manager.updatePodcastWithTitle(podcastName, "Festival 2006", "Rose Morgan", Date.valueOf("2006-02-01"), 120, "Festival for this Spring", "festival2006.mp3"); String results = manager.getAllTitlesInfo() + "\n\n"; results += "**** Podcast Info ****\n" + manager.getPodcastInfo(podcastName); results += "\n**** Podcast Info ****\n\n"; results += manager.getTitleInfo("Weekend Guide") + "\n\n"; results += manager.getPodcastsNames() + "\n\n"; results += manager.getPodcastTitles("PoliticsToday") + "\n\n"; assertTrue(TestingSupport.correctResults("testUpdateGetPodcast.txt", results)); } public void testGetTitleInfo() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); String results = "*Song Info*\n" + manager.getTitleInfo("Tu") + "\n\n"; results += "*Podcast Entry Info*\n" + manager.getTitleInfo("Weekend Guide") + "\n\n"; assertTrue(TestingSupport.correctResults("testGetTitleInfo.txt", results)); } public void testLoadDatabase() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); String results = manager.getAllTitlesInfo() + "\n"; results += manager.getPodcastInfo("WashingtonInfo") + "\n"; assertTrue(TestingSupport.correctResults("testLoadDatabase.txt", results)); } public void testPlaylist() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); String playlistName = "Favorites"; manager.createPlaylist(playlistName); manager.addSongToPlaylist(playlistName, "Tu"); manager.addSongToPlaylist(playlistName, "Rapper's Delight"); ArrayList results = manager.getPlaylistTitles(playlistName); assertEquals("[Rapper's Delight, Tu]", results.toString()); } public void testPlaylistAddRemove() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); String playlistName = "Favorites"; manager.createPlaylist(playlistName); manager.addSongToPlaylist(playlistName, "Tu"); manager.addSongToPlaylist(playlistName, "Rapper's Delight"); playlistName = "College"; manager.createPlaylist(playlistName); manager.addSongToPlaylist(playlistName, "Rapper's Delight"); manager.addSongToPlaylist(playlistName, "One and Only"); String results = manager.getPlaylistTitles("Favorites") + "\n"; results += manager.getPlaylistTitles("College") + "\n"; results += manager.getPlaylistNames() + "\n"; manager.removePlaylist("College"); results += manager.getPlaylistNames() + "\n"; results += manager.getPlaylistTitles("Favorites"); assertTrue(TestingSupport.correctResults("testPlaylistAddRemove.txt", results)); } public void testPlaylistRanking() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); String playlistName = "Favorites"; manager.createPlaylist(playlistName); manager.addSongToPlaylist(playlistName, "Tu"); manager.addSongToPlaylist(playlistName, "Rapper's Delight"); playlistName = "College"; manager.createPlaylist(playlistName); manager.addSongToPlaylist(playlistName, "Rapper's Delight"); manager.addSongToPlaylist(playlistName, "One and Only"); manager.addSongToPlaylist(playlistName, "No Creo"); manager.addSongToPlaylist(playlistName, "Inevitable No"); manager.setSongRankingInPlaylist(playlistName, "No Creo", 2); manager.setSongRankingInPlaylist(playlistName, "One and Only", 1); manager.setSongRankingInPlaylist(playlistName, "Rapper's Delight", 3); ArrayList results = manager.getTitlesByRankInPlaylist(playlistName); assertEquals("[One and Only, No Creo, Rapper's Delight, Inevitable No]",results.toString()); } public void testGetTitlesForArtist() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); ArrayList results = manager.getTitlesForArtist("Shakira"); assertEquals("[Inevitable No, No Creo, Tu]",results.toString()); } public void testSearchKeywordsInTitle() { MediaManagerSystem manager = new MediaManagerSystem(); manager.loadSongsPodcastsInfo("songsAndPodcast.txt"); ArrayList results = manager.getTitlesKeywordsInTitle("No"); assertEquals("[Inevitable No, No Creo]",results.toString()); } }