import org.junit.Test
fun main() {
val verwaltung = Musikverwaltung()
val song1 = Song("Led Zeppelin", "Led Zeppelin", 180, 90)
val song2 = Song("Led Zeppelin II", "Led Zeppelin", 147, 80)
val song3 = Song("Led Zeppelin III", "Led Zeppelin", 260, 72)
val song4 = Song("[Led Zeppelin IV]", "Led Zeppelin", 451, 85)
val song5 = Song("Houses of the Holy", "Led Zeppelin", 332, 94)
val song6 = Song("Physical Graffiti", "Led Zeppelin", 174, 100)
val song7 = Song("Presence", "Led Zeppelin", 80, 67)
val song8 = Song("In Through the Out Door", "Led Zeppelin", 270, 93)
val songTXT = SongMitText("Generic Song A", "Artist One", 80, 67, "Strings, I guess.")
val songAB = SongMitAutobewertung("Generic Song B", "Artist Two", 270, 80)
verwaltung.hinzufuegen(song1)
verwaltung.hinzufuegen(song2)
verwaltung.hinzufuegen(song3)
verwaltung.hinzufuegen(song4)
verwaltung.hinzufuegen(song5)
verwaltung.hinzufuegen(song6)
verwaltung.hinzufuegen(song7)
verwaltung.hinzufuegen(song8)
verwaltung.hinzufuegen(songTXT)
verwaltung.hinzufuegen(songAB)
if (songTXT.search("Strings, I guess"))
println("\nsongTXT funktioniert!\n")
println("\nsongAB: Titel: ${songAB.titel}, Bewertung: ${songAB.bewertung}\n")
songAB.abspielen()
println("\nsongAB: Titel: ${songAB.titel}, Bewertung: ${songAB.bewertung}\n")
val songME = SongMitEigenschaften("Generic Song C", "Artist Three", 80, 67, 2017, 12345)
println("\nSongME: Titel: ${songME.titel}, Durchschnittlicher Verkauf pro Jahr seid Release: ${"%.2f".format(songME.durchschnitt())}\n")
val newPlaylist = Playlist(mutableListOf<Song>(song1, song2, song3))
val zufallsPlaylist: Playlist = verwaltung.zufallsPlaylist()
val dynPlaylist = DynamicPlaylist(mutableListOf<Song>(song1, song2, song3))
val bew = 80
newPlaylist.alleAbspielen()
println("\nSpieldauer von newPlaylist: ${newPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",newPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
println("\nAnzahl der Songs mit einer Bewertung von $bew oder besser: ${newPlaylist.SpieldauerMitXOderBesser(bew)}")
println("\n-----SEPERATOR-----\n")
zufallsPlaylist.alleAbspielen()
println("\nSpieldauer von zufallPlaylist: ${zufallsPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",zufallsPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
println("\nAnzahl der Songs mit einer Bewertung von $bew oder besser: ${zufallsPlaylist.SpieldauerMitXOderBesser(bew)}")
println("\n-----SEPERATOR-----\n")
dynPlaylist.alleAbspielen()
println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
println("\nAnzahl der Songs mit einer Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
//dynPlaylist Test
dynPlaylist.add(song6)
println("\n-----SEPERATOR-----\n")
dynPlaylist.alleAbspielen()
println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
println("\nAnzahl der Songs mit einer Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
println("\n-----SEPERATOR-----\n")
//val testSong = dynPlaylist.take()
dynPlaylist.take2(song6)
//println(testSong?.titel)
dynPlaylist.alleAbspielen()
println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
println("\nAnzahl der Songs mit einer Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
println("\n-----SEPERATOR-----\n")
dynPlaylist.reset()
dynPlaylist.alleAbspielen()
println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
println("\nAnzahl der Songs mit einer Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
val besterSong: Song = verwaltung.besterSong()
println("\nDer beste Song in der Datenbank ist: ${besterSong.titel} von ${besterSong.interpret}, Spieldauer: ${besterSong.spieldauer / 60.0}, Bewertung: ${besterSong.bewertung}")
do{
println("Bitte geben Sie einen Suchbegriff ein!")
val eingabe = readLine().toString()
if(eingabe != "stopp") {
val seekSong = verwaltung.suchen(eingabe)
seekSong?.abspielen() ?: println("\nIhre Suche ergab keine Treffer!\n")
}
}
while(eingabe != "stopp")
val player = Wiedergabe(newPlaylist, 0)
/*player.startStopErneut(0)
player.nMalNeachsterSong(3)
player.startStopErneut(1)
player.startStopErneut(1)
player.neachsterSong()
player.wiedergabemodusSetzen(2)
player.neachsterSong()*/
// Test Sorting
val dynPlaylistTwo = DynamicPlaylist(mutableListOf<Song>(song1, song2, song3))
val compareAlphanumeric = object : Comparator<Song> {
override fun compare(s1: Song, s2: Song): Int = s1.titel.compareTo(s2.titel)
}
val compareInts = object : Comparator<Song> {
override fun compare(a: Song, b: Song): Int = a.bewertung - b.bewertung
}
dynPlaylistTwo.auflisten()
dynPlaylistTwo.sort(compareInts)
dynPlaylistTwo.auflisten()
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎