MedienRückgabe- AusleiheFrist simulieren berechnen und testen
parent
34b2daa2bb
commit
1b02808644
|
|
@ -1,48 +1,27 @@
|
||||||
package domain.AusleiheSystem;
|
package domain.AusleiheSystem;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import domain.Benutzer.Ausweis;
|
|
||||||
import domain.Benutzer.Benutzer;
|
import domain.Benutzer.Benutzer;
|
||||||
import domain.Benutzer.Kunde;
|
|
||||||
import domain.Medium.Buch;
|
|
||||||
import domain.Medium.Medium;
|
|
||||||
import domain.Medium.Mediumverwalter;
|
import domain.Medium.Mediumverwalter;
|
||||||
|
|
||||||
public class Ausleihe {
|
public class Ausleihe {
|
||||||
|
|
||||||
private SimpleDateFormat simpleFormatter;
|
private LocalDate ausleiheBeginn, ausleiheEnde;
|
||||||
private Date ausleiheBeginn, ausleiheEnde;
|
|
||||||
|
|
||||||
private Mediumverwalter medium;
|
private Mediumverwalter medium;
|
||||||
private Benutzer benutzer;
|
private Benutzer benutzer;
|
||||||
private int verlängerungen;
|
private int verlängerungen;
|
||||||
|
|
||||||
public Ausleihe(Mediumverwalter medium, Benutzer benutzer,Date ausleiheBeginn, Date ausleiheEnde) {
|
public Ausleihe(Mediumverwalter medium, Benutzer benutzer,LocalDate ausleiheBeginn, LocalDate ausleiheEnde) {
|
||||||
this.medium = medium;
|
this.medium = medium;
|
||||||
this.ausleiheBeginn = ausleiheBeginn;
|
this.ausleiheBeginn = ausleiheBeginn;
|
||||||
this.ausleiheEnde = ausleiheEnde;
|
this.ausleiheEnde = ausleiheEnde;
|
||||||
this.simpleFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm");
|
|
||||||
this.verlängerungen = 0;
|
this.verlängerungen = 0;
|
||||||
this.benutzer = benutzer;
|
this.benutzer = benutzer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getAusleiheBeginn() {
|
|
||||||
return ausleiheBeginn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAusleiheBeginn(Date ausleiheBeginn) {
|
|
||||||
this.ausleiheBeginn = ausleiheBeginn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getAusleiheEnde() {
|
|
||||||
return ausleiheEnde;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAusleiheEnde(Date ausleiheEnde) {
|
|
||||||
this.ausleiheEnde = ausleiheEnde;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Mediumverwalter getMediumverwalter() {
|
public Mediumverwalter getMediumverwalter() {
|
||||||
return medium;
|
return medium;
|
||||||
|
|
@ -52,15 +31,37 @@ public class Ausleihe {
|
||||||
return benutzer;
|
return benutzer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBenutzer(Benutzer benutzer) {
|
|
||||||
this.benutzer = benutzer;
|
|
||||||
|
public LocalDate getAusleiheBeginn() {
|
||||||
|
return ausleiheBeginn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void setAusleiheBeginn(LocalDate ausleiheBeginn) {
|
||||||
|
this.ausleiheBeginn = ausleiheBeginn;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public LocalDate getAusleiheEnde() {
|
||||||
|
return ausleiheEnde;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void setAusleiheEnde(LocalDate ausleiheEnde) {
|
||||||
|
this.ausleiheEnde = ausleiheEnde;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Ausgeliehene Mediums= "+ medium.toString()+
|
return "Ausgeliehene Mediums= "+ medium.toString()+
|
||||||
" Ausleihe Beginn= " +simpleFormatter.format(ausleiheBeginn) +
|
" Ausleihe Beginn= " +ausleiheBeginn +
|
||||||
" ,Ausleihe Ende= " + simpleFormatter.format(ausleiheEnde) +
|
" ,Ausleihe Ende= " + ausleiheEnde +
|
||||||
" ,verlängerungen= " + verlängerungen +
|
" ,verlängerungen= " + verlängerungen +
|
||||||
" ,inhaber= " + benutzer.toString() ;
|
" ,inhaber= " + benutzer.toString() ;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package domain.AusleiheSystem;
|
package domain.AusleiheSystem;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import domain.Benutzer.Benutzer;
|
import domain.Benutzer.Benutzer;
|
||||||
|
|
@ -9,8 +11,7 @@ import domain.Medium.*;
|
||||||
public class AusleiheSystem {
|
public class AusleiheSystem {
|
||||||
|
|
||||||
private HashMap<String,Mediumverwalter> medien;
|
private HashMap<String,Mediumverwalter> medien;
|
||||||
private Date ausleiheBeginn;
|
private LocalDate ausleiheBeginn,ausleiheEnde;
|
||||||
private Date ausleiheEnde;
|
|
||||||
private Calendar calendar;
|
private Calendar calendar;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -18,25 +19,100 @@ public class AusleiheSystem {
|
||||||
this.medien = medien;
|
this.medien = medien;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Ausleihe mediumAusleihen(Benutzer benutzer, String eindutigenummer) throws MediumNichtGefundenException {
|
public Ausleihe mediumAusleihen(Benutzer benutzer, String eindeutigenummer) throws MediumNichtGefundenException {
|
||||||
Mediumverwalter mediumAusleihen = findMedium(eindutigenummer);
|
Mediumverwalter mediumAusleihen = findMedium(eindeutigenummer);
|
||||||
|
|
||||||
if (mediumAusleihen.isIstAusgeliehen())
|
if (mediumAusleihen.isIstAusgeliehen())
|
||||||
throw new MediumNichtGefundenException("Das Medium ist ausgeliehen");
|
throw new MediumNichtGefundenException("Das Medium ist ausgeliehen");
|
||||||
|
|
||||||
|
|
||||||
mediumAusleihen.setIstAusgeliehen(true);
|
mediumAusleihen.setIstAusgeliehen(true);
|
||||||
mediumAusleihen.setAnzahl(mediumAusleihen.getAnzahl() - 1);
|
mediumAusleihen.setAnzahl(mediumAusleihen.getAnzahl() - 1);
|
||||||
this.ausleiheBeginn = new Date();
|
|
||||||
this.calendar = Calendar.getInstance();
|
|
||||||
calendar.setTime(ausleiheBeginn);
|
|
||||||
|
|
||||||
calendar.add(Calendar.WEEK_OF_YEAR, mediumAusleihen.getLeihdauer());
|
this.ausleiheBeginn = LocalDate.now();
|
||||||
this.ausleiheEnde = calendar.getTime();
|
|
||||||
Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen,benutzer,ausleiheBeginn,ausleiheEnde);
|
this.ausleiheEnde = ausleiheBeginn.plusWeeks(mediumAusleihen.getLeihdauer());
|
||||||
|
|
||||||
|
Ausleihe neueAusleihe = new Ausleihe(mediumAusleihen, benutzer, ausleiheBeginn, ausleiheEnde);
|
||||||
|
|
||||||
return neueAusleihe;
|
return neueAusleihe;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public ArrayList<String> mediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung) {
|
||||||
|
Ausleihe ausgelieheneMedium = ausleihe.stream()
|
||||||
|
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
ArrayList<String> ausgeliehenMedien = new ArrayList<>();
|
||||||
|
LocalDate heutigesDatum;
|
||||||
|
Benutzer bibBenutzer = ausgelieheneMedium.getBenutzer();
|
||||||
|
|
||||||
|
if (ausgelieheneMedium != null) {
|
||||||
|
heutigesDatum = LocalDate.now();
|
||||||
|
if (heutigesDatum.isAfter(ausgelieheneMedium.getAusleiheEnde())) {
|
||||||
|
long überfälligeTage = ausgelieheneMedium.getAusleiheEnde().until(heutigesDatum, ChronoUnit.DAYS);
|
||||||
|
double gebühren = 0.0;
|
||||||
|
if (überfälligeTage <= 7)
|
||||||
|
gebühren = überfälligeTage * 1.0;
|
||||||
|
|
||||||
|
else {
|
||||||
|
gebühren = (7 * 1.0);
|
||||||
|
gebühren += ((überfälligeTage - 7) * 2.0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bibBenutzer.setGebühren( bibBenutzer.getGebühren() + gebühren);
|
||||||
|
|
||||||
|
}
|
||||||
|
ausgelieheneMedium.getBenutzer().mediumZurückgeben(ausgelieheneMedium);
|
||||||
|
ausleihe.remove(ausgelieheneMedium);
|
||||||
|
ausgelieheneMedium.getMediumverwalter().setIstAusgeliehen(false);
|
||||||
|
ausgelieheneMedium.getMediumverwalter().setAnzahl(ausgelieheneMedium.getMediumverwalter().getAnzahl() + 1);
|
||||||
|
for (Ausleihe a : ausgelieheneMedium.getBenutzer().getAusgeliehenenMedien())
|
||||||
|
ausgeliehenMedien.add(a.toString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return ausgeliehenMedien;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double SimulieremediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung, String datum)throws MediumNichtGefundenException {
|
||||||
|
Ausleihe ausgelieheneMedium = ausleihe.stream()
|
||||||
|
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
LocalDate heutigesDatum;
|
||||||
|
LocalDate testDatum = LocalDate.parse(datum);
|
||||||
|
Benutzer bibBenutzer = ausgelieheneMedium.getBenutzer();
|
||||||
|
double gebühren = 0.0;
|
||||||
|
if (ausgelieheneMedium != null) {
|
||||||
|
heutigesDatum = LocalDate.now();
|
||||||
|
|
||||||
|
if (heutigesDatum.isAfter(testDatum)) {
|
||||||
|
long überfälligeTage = testDatum.until(heutigesDatum, ChronoUnit.DAYS);
|
||||||
|
|
||||||
|
|
||||||
|
if (überfälligeTage <= 7)
|
||||||
|
gebühren = überfälligeTage * 1.0;
|
||||||
|
|
||||||
|
else {
|
||||||
|
gebühren = (7 * 1.0);
|
||||||
|
gebühren += ((überfälligeTage - 7) * 2.0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bibBenutzer.setGebühren( bibBenutzer.getGebühren() + gebühren);
|
||||||
|
return bibBenutzer.getGebühren();
|
||||||
|
}
|
||||||
|
|
||||||
|
}else
|
||||||
|
throw new MediumNichtGefundenException ("Das Medium wurde nicht gefunden");
|
||||||
|
|
||||||
|
return gebühren;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
|
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
|
||||||
if (medien.containsKey(eindeutigeKennung))
|
if (medien.containsKey(eindeutigeKennung))
|
||||||
return medien.get(eindeutigeKennung);
|
return medien.get(eindeutigeKennung);
|
||||||
|
|
|
||||||
|
|
@ -75,12 +75,12 @@ public abstract class Benutzer {
|
||||||
return angemeldet;
|
return angemeldet;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void anmelden(boolean angemeldet) {
|
public void anmelden() {
|
||||||
this.angemeldet = angemeldet;
|
this.angemeldet = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void abmelden(boolean angemeldet) {
|
public void abmelden() {
|
||||||
this.angemeldet = angemeldet;
|
this.angemeldet = false ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -110,6 +110,7 @@ public abstract class Benutzer {
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Für Testate
|
||||||
public double simuliereJahresGebühren(String anmeldeBeginn) {
|
public double simuliereJahresGebühren(String anmeldeBeginn) {
|
||||||
LocalDate aktuellesDatum = LocalDate.now();
|
LocalDate aktuellesDatum = LocalDate.now();
|
||||||
LocalDate test = LocalDate.parse(anmeldeBeginn);
|
LocalDate test = LocalDate.parse(anmeldeBeginn);
|
||||||
|
|
|
||||||
|
|
@ -24,31 +24,37 @@ public class Mediensuchen {
|
||||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public ArrayList<String> medienart(String medienart, HashMap<String,Mediumverwalter> medien) {
|
public ArrayList<String> medienart(String medienart, HashMap<String,Mediumverwalter> medien) {
|
||||||
switch(medienart) {
|
switch(medienart) {
|
||||||
case "Bücher":
|
case "Bücher":
|
||||||
return medien.entrySet().stream()
|
return medien.entrySet().stream()
|
||||||
.filter(t -> t.getValue().getMedium() instanceof Buch)
|
.filter(t -> t.getValue().getMedium() instanceof Buch)
|
||||||
|
.map(t -> ((Buch)t))
|
||||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
case "Brettspiele":
|
case "Brettspiele":
|
||||||
return medien.entrySet().stream()
|
return medien.entrySet().stream()
|
||||||
.filter(t -> t.getValue().getMedium() instanceof Brettspiel)
|
.filter(t -> t.getValue().getMedium() instanceof Brettspiel)
|
||||||
|
.map(t -> ((Brettspiel)t))
|
||||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
case "Dvds":
|
case "Dvds":
|
||||||
return medien.entrySet().stream()
|
return medien.entrySet().stream()
|
||||||
.filter(t -> t.getValue().getMedium() instanceof Dvd)
|
.filter(t -> t.getValue().getMedium() instanceof Dvd)
|
||||||
|
.map(t -> ((Dvd)t))
|
||||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
case "Cds":
|
case "Cds":
|
||||||
return medien.entrySet().stream()
|
return medien.entrySet().stream()
|
||||||
.filter(t -> t.getValue().getMedium() instanceof Cd)
|
.filter(t -> t.getValue().getMedium() instanceof Cd)
|
||||||
|
.map(t -> ((Cd)t))
|
||||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
case "Videospiele":
|
case "Videospiele":
|
||||||
return medien.entrySet().stream()
|
return medien.entrySet().stream()
|
||||||
.filter(t -> t.getValue().getMedium() instanceof Videospiel)
|
.filter(t -> t.getValue().getMedium() instanceof Videospiel)
|
||||||
|
.map(t -> ((Videospiel)t))
|
||||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package domain.fassade;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class AusleihfristenGebührenTest {
|
||||||
|
|
||||||
|
private BibSystem bib;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() throws Exception {
|
||||||
|
this.bib = new BibSystem();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test() throws Exception {
|
||||||
|
bib.userRegistrieren("obai", "student", 15, "nein");
|
||||||
|
bib.userAnmdelden("K1001");
|
||||||
|
bib.mediumAusleihen("K1001", "B001");
|
||||||
|
|
||||||
|
assertEquals(2.0,bib.simuliereMedienRückgabe("B001", "2024-11-13"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -15,8 +15,6 @@ public class BibSystem {
|
||||||
private AusleiheSystem ausleiheSystem;
|
private AusleiheSystem ausleiheSystem;
|
||||||
private Benutzer bibAdmin;
|
private Benutzer bibAdmin;
|
||||||
|
|
||||||
private Benutzer temp;
|
|
||||||
|
|
||||||
public BibSystem() {
|
public BibSystem() {
|
||||||
|
|
||||||
this.alleBibBenutzer = new ArrayList<>();
|
this.alleBibBenutzer = new ArrayList<>();
|
||||||
|
|
@ -48,22 +46,13 @@ public class BibSystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
|
public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
|
||||||
Ausleihe ausgelieheneMedium = ausleihe.stream()
|
|
||||||
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
|
|
||||||
.orElse(null);
|
|
||||||
|
|
||||||
ArrayList<String> ausgeliehenMedien = new ArrayList<>();
|
|
||||||
|
|
||||||
if (ausgelieheneMedium != null) {
|
|
||||||
ausgelieheneMedium.getBenutzer().mediumZurückgeben(ausgelieheneMedium);
|
|
||||||
ausleihe.remove(ausgelieheneMedium);
|
|
||||||
ausgelieheneMedium.getMediumverwalter().setIstAusgeliehen(false);
|
|
||||||
ausgelieheneMedium.getMediumverwalter().setAnzahl(ausgelieheneMedium.getMediumverwalter().getAnzahl() + 1);
|
|
||||||
for (Ausleihe a : ausgelieheneMedium.getBenutzer().getAusgeliehenenMedien())
|
|
||||||
ausgeliehenMedien.add(a.toString());
|
|
||||||
|
|
||||||
|
return ausleiheSystem.mediumRückgabe(ausleihe, eindeutigeKennung);
|
||||||
}
|
}
|
||||||
return ausgeliehenMedien;
|
|
||||||
|
public double simuliereMedienRückgabe(String eindeutigeKennung, String datum) throws MediumNichtGefundenException {
|
||||||
|
|
||||||
|
return ausleiheSystem.SimulieremediumRückgabe(ausleihe, eindeutigeKennung, datum);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer)
|
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer)
|
||||||
|
|
@ -102,43 +91,39 @@ public class BibSystem {
|
||||||
|
|
||||||
public boolean userAnmdelden(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
public boolean userAnmdelden(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
||||||
Benutzer bibBenutzer = findeBenutzer(bibKartenNummer);
|
Benutzer bibBenutzer = findeBenutzer(bibKartenNummer);
|
||||||
bibBenutzer.anmelden(true);
|
bibBenutzer.anmelden();
|
||||||
return bibBenutzer.isAngemeldet();
|
return bibBenutzer.isAngemeldet();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String mediumAusleihen(String bibKartenNummer, String eindeutigeKennung) throws Exception {
|
public String mediumAusleihen(String bibKartenNummer, String eindeutigeKennung) throws Exception {
|
||||||
this.temp = findeBenutzer(bibKartenNummer);
|
Benutzer bibBenutzer = findeBenutzer(bibKartenNummer);
|
||||||
|
|
||||||
if (temp instanceof Mitarbeiter)
|
if (bibBenutzer instanceof Mitarbeiter)
|
||||||
throw new Exception("Mitarbeiter können keine Mediums ausleihen!");
|
throw new Exception("Mitarbeiter können keine Mediums ausleihen!");
|
||||||
|
|
||||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||||
|
|
||||||
Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(temp, eindeutigeKennung);
|
Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(bibBenutzer, eindeutigeKennung);
|
||||||
ausleihe.add(neueAusleihe);
|
ausleihe.add(neueAusleihe);
|
||||||
temp.ausleihen(neueAusleihe);
|
bibBenutzer.ausleihen(neueAusleihe);
|
||||||
|
|
||||||
return "Das Medium wurde erfolgreich ausgeliehen";
|
return "Das Medium wurde erfolgreich ausgeliehen";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Temporäre Test Methode
|
// Temporäre Test Methode
|
||||||
private void mediumsAufladen() {
|
private void mediumsAufladen() {
|
||||||
Mediumverwalter buch = new Mediumverwalter(true, 10, 4,
|
Mediumverwalter buch = new Mediumverwalter(true, 10, 28,
|
||||||
new Buch("B001", "Effektives Java Programmieren", 2018, "Joshua Bloch"));
|
new Buch("B001", "Effektives Java Programmieren", 2018, "Joshua Bloch"));
|
||||||
medien.put(buch.getMedium().getID(), buch);
|
medien.put(buch.getMedium().getID(), buch);
|
||||||
|
|
||||||
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(true, 10, 4,
|
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(true, 10, 28,new Buch("B00", "Effektives C++ Programmieren", 2018, "Joshua Bloch"));
|
||||||
new Buch("B00", "Effektives C++ Programmieren", 2018, "Joshua Bloch"));
|
|
||||||
buchIStAusgeliehen.setIstAusgeliehen(true);
|
buchIStAusgeliehen.setIstAusgeliehen(true);
|
||||||
medien.put(buchIStAusgeliehen.getMedium().getID(), buchIStAusgeliehen);
|
medien.put(buchIStAusgeliehen.getMedium().getID(), buchIStAusgeliehen);
|
||||||
|
|
||||||
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(true, 10, 4,
|
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(true, 10, 28,new Buch("BG001", "Javascript lenren", 2018, "Joshua Bloch"));
|
||||||
new Buch("BG001", "Javascript lenren", 2018, "Joshua Bloch"));
|
|
||||||
medien.put(buchIStNichtAusgeliehen.getMedium().getID(), buchIStNichtAusgeliehen);
|
medien.put(buchIStNichtAusgeliehen.getMedium().getID(), buchIStNichtAusgeliehen);
|
||||||
|
|
||||||
Mediumverwalter Videospiel = new Mediumverwalter(true, 2, 1,
|
Mediumverwalter Videospiel = new Mediumverwalter(true, 2, 28,new Videospiel("BG00122", "The Legend of Zelda: Breath of the Wild", 2017, "Nintendo Switch"));
|
||||||
new Videospiel("BG00122", "The Legend of Zelda: Breath of the Wild", 2017, "Nintendo Switch"));
|
|
||||||
medien.put(Videospiel.getMedium().getID(), Videospiel);
|
medien.put(Videospiel.getMedium().getID(), Videospiel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,8 +133,7 @@ public class BibSystem {
|
||||||
|
|
||||||
private Benutzer findeBenutzer(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
private Benutzer findeBenutzer(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
||||||
return alleBibBenutzer.stream()
|
return alleBibBenutzer.stream()
|
||||||
.filter(k -> k.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer))
|
.filter(k -> k.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer)).findFirst()
|
||||||
.findFirst()
|
|
||||||
.orElseThrow(() -> new BenutzerNichtGefundenException(
|
.orElseThrow(() -> new BenutzerNichtGefundenException(
|
||||||
"Benutzer mit Kartennummer " + bibKartenNummer + " nicht gefunden"));
|
"Benutzer mit Kartennummer " + bibKartenNummer + " nicht gefunden"));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package domain.gebührenBerechnenTest;
|
package domain.fassade;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
|
@ -6,8 +6,6 @@ import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Disabled;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import domain.fassade.BibSystem;
|
|
||||||
|
|
||||||
class JahresGebührenTest {
|
class JahresGebührenTest {
|
||||||
BibSystem fassade;
|
BibSystem fassade;
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
package domain.fassade;
|
package domain.fassade;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
|
@ -19,10 +17,13 @@ class MedienRückgabeTest {
|
||||||
@Test
|
@Test
|
||||||
void test() throws Exception {
|
void test() throws Exception {
|
||||||
bib.userRegistrieren("obai", "student", 15, "nein");
|
bib.userRegistrieren("obai", "student", 15, "nein");
|
||||||
bib.userAnmdelden("K1000");
|
bib.userAnmdelden("K1001");
|
||||||
bib.mediumAusleihen("K1000", "B001");
|
bib.mediumAusleihen("K1001", "B001");
|
||||||
|
bib.mediumAusleihen("K1001", "BG001");
|
||||||
|
|
||||||
ArrayList<String> test = bib.medienRückgabe("B001");
|
ArrayList<String> test = bib.medienRückgabe("B001");
|
||||||
|
if (test.size() == 0)
|
||||||
|
System.out.println("kein Mehr");
|
||||||
test.forEach(System.out::println);
|
test.forEach(System.out::println);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,14 +22,14 @@ class UserAnmeldenTest {
|
||||||
|
|
||||||
// True => User ist Angemeldet
|
// True => User ist Angemeldet
|
||||||
fassade.userRegistrieren("obai", "Student", 15, "nein");
|
fassade.userRegistrieren("obai", "Student", 15, "nein");
|
||||||
assertTrue(fassade.userAnmdelden("K1000"));
|
assertTrue(fassade.userAnmdelden("K1001"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testBenutzerIstNichtImSystem() throws FalscheEingabeException, BenutzerNichtGefundenException {
|
void testBenutzerIstNichtImSystem() throws FalscheEingabeException, BenutzerNichtGefundenException {
|
||||||
|
|
||||||
// True, da Benutzer nicht im System ist
|
// True, da Benutzer nicht im System ist
|
||||||
assertThrows( BenutzerNichtGefundenException.class, () -> fassade.userAnmdelden("K1000") );
|
assertThrows( BenutzerNichtGefundenException.class, () -> fassade.userAnmdelden("K1001") );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue