PR2-Testate/LibrarySystem/UI/BibTest.java

58 lines
2.0 KiB
Java

package LibrarySystem.UI;
import LibrarySystem.domain.benutzern.*;
import LibrarySystem.domain.medien.*;
import LibrarySystem.facade.*;
import java.time.LocalDate;
// Testklasse zum Erstellen und Verwalten von Benutzern
public class BibTest {
public static void main(String[] args) {
// Bibliothekssystem initialisieren
BibliothekSystem system = new BibliothekSystem();
// Benutzer erstellen
Benutzer erwachsener = new Erwachsener("Max", 35);
Benutzer student = new Student("Anna", 21);
Admin admin = new Admin("Lisa Admin", 40);
system.benutzerRegistrieren(erwachsener);
system.benutzerRegistrieren(student);
// Medien erstellen
Medium buch = new Buch(123, "Java Programmieren", "BP", 2020,"Buch");
Medium dvd = new DVD(456, "Der große Film", "JP",2018, "DVD");
// Datum setzen und Ausleihe simulieren
system.datumAendern(LocalDate.of(2024, 11, 10));
erwachsener.ausleihen(buch, system.getAktuellesDatum());
student.ausleihen(dvd, system.getAktuellesDatum());
system.zeigeGebuehren(erwachsener);
// Rückgabe simulieren
system.datumAendern(LocalDate.of(2024, 12, 15)); // Datum ändern
student.rueckgabe(456, system.getAktuellesDatum());
//Bezahlung der Gebühren simulieren
system.zeigeGebuehren(erwachsener);
admin.bestaetigeGebuehrenzahlung(erwachsener);
system.zeigeGebuehren(erwachsener);
// Medien eines Benutzers anzeigen
erwachsener.anzeigenAusleihen();
// Benutzerinformationen anzeigen
System.out.println(erwachsener);
System.out.println("Jahresgebühr: " + erwachsener.getJahresgebuehr() + " EUR");
System.out.println(student);
System.out.println("Jahresgebühr: " + student.getJahresgebuehr() + " EUR");
System.out.println(admin);
System.out.println("Jahresgebühr: " + admin.getJahresgebuehr() + " EUR");
}
}