code-Verbesserung
parent
e89fa80185
commit
6fabcb4d46
|
@ -74,7 +74,7 @@ public class Mediensuchen {
|
|||
|
||||
}
|
||||
|
||||
public Collection<String> baldVerfügbareMedien(ArrayList<Ausleihe> ausleihe) {
|
||||
public ArrayList<String> baldVerfügbareMedien(ArrayList<Ausleihe> ausleihe) {
|
||||
LocalDate heutigesDatum = LocalDate.now();
|
||||
|
||||
return ausleihe.stream()
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
package domain.Testate;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.fassade.BibSystem;
|
||||
|
||||
class AusleihenTest {
|
||||
|
||||
private BibSystem bib;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() throws Exception {
|
||||
this.bib = new BibSystem();
|
||||
}
|
||||
|
||||
@Disabled
|
||||
void testAusleiheFris() throws Exception {
|
||||
|
||||
bib.userRegistrieren("obai", "student", 15, "nein");
|
||||
bib.userAnmelden("K1001");
|
||||
double gerbühren = bib.mediumAusleihen("K1001", "B001");
|
||||
assertEquals(0.0,gerbühren);
|
||||
|
||||
// das ist ein Test für das Testate:
|
||||
String ausleihBeginn = "2024-11-01";
|
||||
String ausleihEnde = "2024-12-01";
|
||||
String heutigesDatum = "2024-12-05";
|
||||
double überfälligeGebühren = bib.datumÄndern("B001", ausleihBeginn, ausleihEnde, heutigesDatum);
|
||||
assertEquals(4.0,überfälligeGebühren);
|
||||
|
||||
// Gebühren bezahlen (Admin)
|
||||
assertTrue(bib.adminAnmelden("A1000"));
|
||||
assertEquals(4.0,bib.getgbührenBenutzer("K1001"));
|
||||
assertTrue(bib.gebührenVerbuchen("K1001"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMitJahresGebühren() throws Exception {
|
||||
|
||||
bib.userRegistrieren("obai", "student", 15, "nein");
|
||||
bib.userAnmelden("K1001");
|
||||
double gerbühren = bib.mediumAusleihen("K1001", "B001");
|
||||
assertEquals(0.0,gerbühren);
|
||||
|
||||
// das ist eine Test für das Testate:
|
||||
String ausleihBeginn = "2024-11-01";
|
||||
String ausleihEnde = "2024-12-01";
|
||||
String heutigesDatum = "2024-12-05";
|
||||
double überfälligeGebühren = bib.datumÄndern("B001", ausleihBeginn, ausleihEnde, heutigesDatum);
|
||||
assertEquals(4.0,überfälligeGebühren);
|
||||
|
||||
// setze noch jahresGebühren dazu
|
||||
double jahreGebühren = bib.jahresGebührenBerechnen("K1001", "2025-11-19");
|
||||
assertEquals(29.0,jahreGebühren);
|
||||
|
||||
// Gebühren bezahlen (Admin)
|
||||
assertTrue(bib.adminAnmelden("A1000"));
|
||||
assertEquals(29.0,bib.getgbührenBenutzer("K1001"));
|
||||
assertTrue(bib.gebührenVerbuchen("K1001"));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package domain.Testate;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.fassade.BibSystem;
|
||||
|
||||
class MediumsVerlä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.userAnmelden("K1001");
|
||||
bib.mediumAusleihen("K1001", "B001");
|
||||
assertTrue(bib.medienVerlängern("B001", "K1001"));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package domain.Testate;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.Benutzer.*;
|
||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
import domain.UserRegistieren.Registieren;
|
||||
|
||||
class RegistrierenTest {
|
||||
|
||||
@Test
|
||||
void testKunde() throws FalscheEingabeException {
|
||||
|
||||
Benutzer student = Registieren.userRegistrieren("Müller", "student", 15, "nein");
|
||||
// True
|
||||
assertTrue(student instanceof Studenten);
|
||||
|
||||
Benutzer erwachsener = Registieren.userRegistrieren("Schneider", "erwachsener", 15, "nein");
|
||||
// True
|
||||
assertTrue(erwachsener instanceof Erwachsener);
|
||||
|
||||
Benutzer mitarbeiter = Registieren.userRegistrieren("Schuchmacher", "mitarbeiter", 15, "ja");
|
||||
assertTrue(mitarbeiter instanceof Mitarbeiter);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -20,9 +20,9 @@ public class Registieren {
|
|||
ausweis = new Ausweis("K");
|
||||
benutzer = new Erwachsener(ausweis,name,alter,admin);
|
||||
}
|
||||
else if (type.equalsIgnoreCase("Mitarbeiter")) {
|
||||
else if (type.equalsIgnoreCase("mitarbeiter")) {
|
||||
ausweis = new Ausweis("A");
|
||||
benutzer = new Erwachsener(ausweis,name,alter,admin);
|
||||
benutzer = new Mitarbeiter(ausweis,name,alter,admin);
|
||||
}
|
||||
else
|
||||
throw new FalscheEingabeException("Falsche Eingabe");
|
||||
|
|
|
@ -36,15 +36,6 @@ class RegistrierenTest {
|
|||
assertTrue(erwachsener instanceof Erwachsener);
|
||||
}
|
||||
|
||||
@Disabled
|
||||
void testMitarbeiter() throws FalscheEingabeException {
|
||||
|
||||
Benutzer benutzer = Registieren.userRegistrieren("obai", "mitarbeiter", 15, "ja");
|
||||
// True, da Mitarbeiter ist
|
||||
assertTrue(benutzer instanceof Mitarbeiter);
|
||||
String bibKartenNummer = "A1001";
|
||||
assertTrue(benutzer.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ public class BibSystem {
|
|||
treffer = medienSuchen.medienart(auswahl, medien);
|
||||
|
||||
else if (auswahl.equalsIgnoreCase("ja")) {
|
||||
treffer = baldVerfügbareMedien(ausleihe);
|
||||
treffer = medienSuchen.baldVerfügbareMedien(ausleihe);
|
||||
}
|
||||
|
||||
else
|
||||
|
@ -104,7 +104,20 @@ public class BibSystem {
|
|||
return ausleiheSystem.medienVerlängern(benutzer,eindeutigeKennung);
|
||||
}
|
||||
|
||||
// Admin meldet sich an
|
||||
// Mediums Rückgabe
|
||||
public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
|
||||
return ausleiheSystem.mediumRückgabe(ausleihe, eindeutigeKennung);
|
||||
}
|
||||
|
||||
/* Admin Methoden:
|
||||
* 1. Anmeldung
|
||||
* 2. Gebühren des BibBenutzers anzeigen
|
||||
* 3. Gebühren verbuchen
|
||||
* 4. akteulle ausgelihene Mediums der Benutzer anzeigen
|
||||
*
|
||||
*/
|
||||
|
||||
// Anmeldung
|
||||
public boolean adminAnmelden(String bibKartennummerAdmin){
|
||||
this.bibAdmin.anmelden();
|
||||
return this.bibAdmin.isAngemeldet();
|
||||
|
@ -128,16 +141,13 @@ public class BibSystem {
|
|||
|
||||
}
|
||||
|
||||
public double gebührenVerbuchen(String bibKartennummer) throws BenutzerNichtGefundenException {
|
||||
public boolean gebührenVerbuchen(String bibKartennummer) throws BenutzerNichtGefundenException {
|
||||
Benutzer bibUser = findeBenutzer(bibKartennummer);
|
||||
((Mitarbeiter)this.bibAdmin).gebührVerbuchen(bibUser);
|
||||
return bibUser.getGebühren();
|
||||
return bibUser.getGebühren() == 0.0;
|
||||
}
|
||||
|
||||
// Mediums Rückgabe
|
||||
public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
|
||||
return ausleiheSystem.mediumRückgabe(ausleihe, eindeutigeKennung);
|
||||
}
|
||||
|
||||
|
||||
// Simuliere Datum
|
||||
public double datumÄndern(String eindeutigeKennung,String ausleiheBeginn, String ausleiheEnde,String datum) throws MediumNichtGefundenException {
|
||||
|
|
Loading…
Reference in New Issue