Kyaria

Main.kt

Jun 11th, 2019
6,901
0
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 5.50 KB | None | 0 0
  1. import org.junit.Test
  2.  
  3. fun main() {
  4.     val verwaltung = Musikverwaltung()
  5.  
  6.     val song1 = Song("Led Zeppelin", "Led Zeppelin", 180, 90)
  7.     val song2 = Song("Led Zeppelin II", "Led Zeppelin", 147, 80)
  8.     val song3 = Song("Led Zeppelin III", "Led Zeppelin", 260, 72)
  9.     val song4 = Song("[Led Zeppelin IV]", "Led Zeppelin", 451, 85)
  10.     val song5 = Song("Houses of the Holy", "Led Zeppelin", 332, 94)
  11.     val song6 = Song("Physical Graffiti", "Led Zeppelin", 174, 100)
  12.     val song7 = Song("Presence", "Led Zeppelin", 80, 67)
  13.     val song8 = Song("In Through the Out Door", "Led Zeppelin", 270, 93)
  14.  
  15.     val songTXT = SongMitText("Generic Song A", "Artist One", 80, 67, "Strings, I guess.")
  16.     val songAB = SongMitAutobewertung("Generic Song B", "Artist Two", 270, 80)
  17.  
  18.     verwaltung.hinzufuegen(song1)
  19.     verwaltung.hinzufuegen(song2)
  20.     verwaltung.hinzufuegen(song3)
  21.     verwaltung.hinzufuegen(song4)
  22.     verwaltung.hinzufuegen(song5)
  23.     verwaltung.hinzufuegen(song6)
  24.     verwaltung.hinzufuegen(song7)
  25.     verwaltung.hinzufuegen(song8)
  26.     verwaltung.hinzufuegen(songTXT)
  27.     verwaltung.hinzufuegen(songAB)
  28.  
  29.     if (songTXT.search("Strings, I guess"))
  30.         println("\nsongTXT funktioniert!\n")
  31.  
  32.     println("\nsongAB:    Titel: ${songAB.titel}, Bewertung:  ${songAB.bewertung}\n")
  33.     songAB.abspielen()
  34.     println("\nsongAB:    Titel: ${songAB.titel}, Bewertung:  ${songAB.bewertung}\n")
  35.  
  36.     val songME = SongMitEigenschaften("Generic Song  C", "Artist Three", 80, 67, 2017, 12345)
  37.     println("\nSongME:    Titel: ${songME.titel}, Durchschnittlicher Verkauf pro Jahr seid Release: ${"%.2f".format(songME.durchschnitt())}\n")
  38.  
  39.     val newPlaylist = Playlist(mutableListOf<Song>(song1, song2, song3))
  40.     val zufallsPlaylist: Playlist = verwaltung.zufallsPlaylist()
  41.     val dynPlaylist = DynamicPlaylist(mutableListOf<Song>(song1, song2, song3))
  42.  
  43.     val bew = 80
  44.  
  45.     newPlaylist.alleAbspielen()
  46.     println("\nSpieldauer von newPlaylist: ${newPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",newPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
  47.     println("\nAnzahl der Songs mit einer  Bewertung von $bew oder besser: ${newPlaylist.SpieldauerMitXOderBesser(bew)}")
  48.  
  49.     println("\n-----SEPERATOR-----\n")
  50.  
  51.     zufallsPlaylist.alleAbspielen()
  52.     println("\nSpieldauer von zufallPlaylist: ${zufallsPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",zufallsPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
  53.     println("\nAnzahl der Songs mit einer  Bewertung von $bew oder besser: ${zufallsPlaylist.SpieldauerMitXOderBesser(bew)}")
  54.  
  55.     println("\n-----SEPERATOR-----\n")
  56.  
  57.     dynPlaylist.alleAbspielen()
  58.     println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
  59.     println("\nAnzahl der Songs mit einer  Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
  60.  
  61.     //dynPlaylist Test
  62.  
  63.     dynPlaylist.add(song6)
  64.  
  65.     println("\n-----SEPERATOR-----\n")
  66.  
  67.     dynPlaylist.alleAbspielen()
  68.     println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
  69.     println("\nAnzahl der Songs mit einer  Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
  70.  
  71.     println("\n-----SEPERATOR-----\n")
  72.  
  73.     //val testSong = dynPlaylist.take()
  74.     dynPlaylist.take2(song6)
  75.  
  76.     //println(testSong?.titel)
  77.  
  78.     dynPlaylist.alleAbspielen()
  79.     println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
  80.     println("\nAnzahl der Songs mit einer  Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
  81.  
  82.     println("\n-----SEPERATOR-----\n")
  83.  
  84.     dynPlaylist.reset()
  85.  
  86.     dynPlaylist.alleAbspielen()
  87.     println("\nSpieldauer von dynPlaylist: ${dynPlaylist.gesamteSpieldauer()} Sekunden, ${String.format("%.2f",dynPlaylist.gesamteSpieldauer() / 60.0)} Minuten")
  88.     println("\nAnzahl der Songs mit einer  Bewertung von $bew oder besser: ${dynPlaylist.SpieldauerMitXOderBesser(bew)}")
  89.  
  90.     val besterSong: Song = verwaltung.besterSong()
  91.  
  92.     println("\nDer beste Song in der Datenbank ist: ${besterSong.titel} von ${besterSong.interpret}, Spieldauer: ${besterSong.spieldauer / 60.0}, Bewertung: ${besterSong.bewertung}")
  93.  
  94.     do{
  95.         println("Bitte geben Sie einen Suchbegriff ein!")
  96.         val eingabe = readLine().toString()
  97.  
  98.         if(eingabe != "stopp") {
  99.             val seekSong = verwaltung.suchen(eingabe)
  100.             seekSong?.abspielen() ?: println("\nIhre Suche ergab keine Treffer!\n")
  101.         }
  102.     }
  103.     while(eingabe != "stopp")
  104.  
  105.     val  player = Wiedergabe(newPlaylist, 0)
  106.  
  107.     /*player.startStopErneut(0)
  108.     player.nMalNeachsterSong(3)
  109.     player.startStopErneut(1)
  110.     player.startStopErneut(1)
  111.     player.neachsterSong()
  112.     player.wiedergabemodusSetzen(2)
  113.     player.neachsterSong()*/
  114.  
  115.     // Test Sorting
  116.  
  117.     val dynPlaylistTwo = DynamicPlaylist(mutableListOf<Song>(song1, song2, song3))
  118.  
  119.     val compareAlphanumeric = object : Comparator<Song> {
  120.         override fun compare(s1: Song, s2: Song): Int = s1.titel.compareTo(s2.titel)
  121.     }
  122.  
  123.     val compareInts = object : Comparator<Song> {
  124.         override fun compare(a: Song, b: Song): Int = a.bewertung - b.bewertung
  125.     }
  126.  
  127.     dynPlaylistTwo.auflisten()
  128.     dynPlaylistTwo.sort(compareInts)
  129.     dynPlaylistTwo.auflisten()
  130. }
Advertisement