Medium verlängernProzess fertig implementiert und getestet
parent
1b02808644
commit
da0ce0845f
|
|
@ -21,41 +21,38 @@ public class Ausleihe {
|
||||||
this.benutzer = benutzer;
|
this.benutzer = benutzer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Mediumverwalter getMediumverwalter() {
|
public Mediumverwalter getMediumverwalter() {
|
||||||
return medium;
|
return medium;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Benutzer getBenutzer() {
|
public Benutzer getBenutzer() {
|
||||||
return benutzer;
|
return benutzer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public LocalDate getAusleiheBeginn() {
|
public LocalDate getAusleiheBeginn() {
|
||||||
return ausleiheBeginn;
|
return ausleiheBeginn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void setAusleiheBeginn(LocalDate ausleiheBeginn) {
|
public void setAusleiheBeginn(LocalDate ausleiheBeginn) {
|
||||||
this.ausleiheBeginn = ausleiheBeginn;
|
this.ausleiheBeginn = ausleiheBeginn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public LocalDate getAusleiheEnde() {
|
public LocalDate getAusleiheEnde() {
|
||||||
return ausleiheEnde;
|
return ausleiheEnde;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void setAusleiheEnde(LocalDate ausleiheEnde) {
|
public void setAusleiheEnde(LocalDate ausleiheEnde) {
|
||||||
this.ausleiheEnde = ausleiheEnde;
|
this.ausleiheEnde = ausleiheEnde;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getVerlängerungen() {
|
||||||
|
return verlängerungen;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVerlängerungen(int verlängerungen) {
|
||||||
|
this.verlängerungen = verlängerungen;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,30 @@ public class AusleiheSystem {
|
||||||
return gebühren;
|
return gebühren;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean medienVerlängern(Benutzer benutzer, String eindeutigeKennung) throws MediumNichtGefundenException {
|
||||||
|
Ausleihe medium = benutzer.getAusgeliehenenMedien()
|
||||||
|
.stream()
|
||||||
|
.filter(m -> m.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung))
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
|
if (medium == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
LocalDate heutigesDatum = LocalDate.now();
|
||||||
|
if (heutigesDatum.isAfter(medium.getAusleiheEnde()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!medium.getMediumverwalter().isVerlängerbar())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (medium.getVerlängerungen() == 3)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
medium.setVerlängerungen(medium.getVerlängerungen() + 1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
|
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
|
||||||
if (medien.containsKey(eindeutigeKennung))
|
if (medien.containsKey(eindeutigeKennung))
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
package domain.fassade;
|
package domain.AusleiheSystem;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import domain.fassade.BibSystem;
|
||||||
|
|
||||||
class MedienRückgabeTest {
|
class MedienRückgabeTest {
|
||||||
|
|
||||||
private BibSystem bib;
|
private BibSystem bib;
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package domain.AusleiheSystem;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import domain.fassade.BibSystem;
|
||||||
|
|
||||||
|
class MediumVerlängernTest {
|
||||||
|
|
||||||
|
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");
|
||||||
|
assertTrue(bib.medienVerlängern("B001", "K1001"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -54,6 +54,11 @@ public class BibSystem {
|
||||||
|
|
||||||
return ausleiheSystem.SimulieremediumRückgabe(ausleihe, eindeutigeKennung, datum);
|
return ausleiheSystem.SimulieremediumRückgabe(ausleihe, eindeutigeKennung, datum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean medienVerlängern(String eindeutigeKennung, String bibKartennummer) throws BenutzerNichtGefundenException, MediumNichtGefundenException {
|
||||||
|
Benutzer benutzer = findeBenutzer(bibKartennummer);
|
||||||
|
return ausleiheSystem.medienVerlängern(benutzer,eindeutigeKennung);
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer)
|
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer)
|
||||||
throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue