import java.util.Iterator; import java.util.NoSuchElementException; public class test { public static void main(String[] args) { System.out.println("Anlegen der Prioritaetswartschlangen que1, que2\n\n"); Warteschlange que1 = new Warteschlange(); Warteschlange que2 = new Warteschlange(); System.out.println("Erwartet: que1.empty() = true; que2.empty() = true"); System.out.println("que1.empty() = " + que1.empty()); System.out.println("que2.empty() = " + que2.empty() + "\n\n"); System.out.println("que1 mit (wellt,4) (wie,3) (hallo,5) (es,2) (dir,2) (?,1) (geht,3) fuellen"); que1.enqueue("wellt", 4); que1.enqueue("wie", 3); que1.enqueue("hallo", 5); que1.enqueue("es", 2); que1.enqueue("dir", 2); que1.enqueue("?", 1); que1.enqueue("geht", 3); System.out.println("Erwartet: PrioritaetsWarteschlange: (hallo,5) (wellt,4) (wie,3) (geht,3) (es,2) (dir,2) (?,1)"); System.out.println(que1 + "\n\n"); System.out.println("Erwartet: que1.size() = 7; que2.size() = 0"); System.out.println("que1.size() = " + que1.size()); System.out.println("que2.size() = " + que2.size() +"\n\n"); System.out.println("Erwartet: que1.empty() = false; que2.empty() = true"); System.out.println("que1.empty() = " + que1.empty()); System.out.println("que2.empty() = " + que2.empty() + "\n\n"); System.out.println("que2 mit que1 und (que2,100) fuellen"); que2.enqueueAll(que1); que2.enqueue("que2", 100); System.out.println("Erwartet: PrioritaetsWarteschlange: (que2,100) (hallo,5) (wellt,4) (wie,3) (geht,3) (es,2) (dir,2) (?,1)"); System.out.println(que2 + "\n\n"); System.out.println("Erwartet: que1.empty() = false; que2.empty() = false"); System.out.println("que1.empty() = " + que1.empty()); System.out.println("que2.empty() = " + que2.empty() + "\n\n"); System.out.println("Erwartet: que1.front() = hallo; que2.front() = que2"); System.out.println("que1.front() = " + que1.front()); System.out.println("que2.front() = " + que2.front() +"\n\n"); System.out.println("Erwartet: que1.maxPrioritaet() = 5; que2.maxPrioritaet() = 100"); System.out.println("que1.maxPrioritaet() = " + que1.maxPrioritaet()); System.out.println("que2.maxPrioritaet() = " + que2.maxPrioritaet() +"\n\n"); System.out.println("Erwartet: que1.size() = 7; que2.size() = 8"); System.out.println("que1.size() = " + que1.size()); System.out.println("que2.size() = " + que2.size() +"\n\n"); System.out.println("Erwartet; que2.dequeue() = (que2,100)"); PriorisiertesElement ele = que2.dequeue(); System.out.println("que2.dequeue() = (" + ele.wert() + "," + ele.prioritaet() +")\n\n"); System.out.println("Erwartet: que1.size() = 7; que2.size() = 7"); System.out.println("que1.size() = " + que1.size()); System.out.println("que2.size() = " + que2.size() +"\n\n"); System.out.println("Erwartet: que2.dequeue(25) = false; que2.dequeue(3) = true"); System.out.println("que2.dequeue(25) = " + que2.dequeue(25)); System.out.println("que2.dequeue(3) = " + que2.dequeue(3) + "\n\n"); System.out.println("Erwartet: PrioritaetsWarteschlange: (hallo,5) (wellt,4) (es,2) (dir,2) (?,1)"); System.out.println(que2 + "\n\n"); System.out.println("que2-Iterator \"iter\" erstellen."); Iterator> iter = que2.iterator(); System.out.println("Erwartet: iter.next() = (hallo,5)"); ele = iter.next(); System.out.println("iter.next() = (" + ele.wert() + "," + ele.prioritaet() +")"); System.out.println("Erwartet: iter.next() = (wellt,4)"); ele = iter.next(); System.out.println("iter.next() = (" + ele.wert() + "," + ele.prioritaet() +")"); System.out.println("iter.remove()"); iter.remove(); System.out.println("Erwartet: PrioritaetsWarteschlange: (hallo,5) (es,2) (dir,2) (?,1)"); System.out.println(que2 + "\n\n"); System.out.println("nochmal iter.remove() -> IllegalStateException"); System.out.println("Erwartet: Loeschen nicht moeglich."); try { iter.remove(); System.out.println("kein fehler geworfen"); } catch (IllegalStateException erwartet) { System.out.println(erwartet.toString()); } System.out.println("\n\nErwartet: que1.size() = 7; que2.size() = 4"); System.out.println("que1.size() = " + que1.size()); System.out.println("que2.size() = " + que2.size() +"\n\n"); System.out.println("Erwartet: que1.maxPrioritaet() = 5; que2.maxPrioritaet() = 5"); System.out.println("que1.maxPrioritaet() = " + que1.maxPrioritaet()); System.out.println("que2.maxPrioritaet() = " + que2.maxPrioritaet() +"\n\n"); System.out.println("que2 + que1"); que2.enqueueAll(que1); System.out.println("Erwartet: PrioritaetsWarteschlange: (hallo,5) (hallo,5) (wellt,4) (wie,3) (geht,3) (es,2) (dir,2) (es,2) (dir,2) (?,1) (?,1)"); System.out.println(que2 + "\n\n"); System.out.println("que2.clear()"); que2.clear(); System.out.println("Erwartet: que2.size() = 0; que2.empty() = true; que2.maxPrioritaet() = " + Integer.MIN_VALUE); System.out.println("que2.size() = " + que2.size()); System.out.println("que2.empty() = " + que2.empty()); System.out.println("que2.maxPrioritaet() = " + que2.maxPrioritaet() + "\n\n"); System.out.println("que2.dequeue() -> NoSuchElementException"); System.out.println("Erwartet: Die Warteschlange ist bereits leer!"); try { que2.dequeue(); System.out.println("kein fehler geworfen"); } catch (NoSuchElementException erwartet) { System.out.println(erwartet); } System.out.println("\n\nque2 mit que1 und (que2,100) fuellen"); que2.enqueueAll(que1); que2.enqueue("que2", 100); System.out.println("Erwartet: PrioritaetsWarteschlange: (que2,100) (hallo,5) (wellt,4) (wie,3) (geht,3) (es,2) (dir,2) (?,1)"); System.out.println(que2 + "\n\n"); } }