fortschritte bei der AusleiheProzess
parent
75579d5c4b
commit
8ada9aa90d
|
@ -5,11 +5,11 @@ import static org.junit.jupiter.api.Assertions.*;
|
|||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.BibSystem;
|
||||
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
||||
import domain.ExceptionsKlassen.BenutzerNichtGefundenException;
|
||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
import domain.ExceptionsKlassen.MediumNichtGefundenException;
|
||||
import domain.fassade.BibSystem;
|
||||
|
||||
class AusleiheJTest {
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ public abstract class Benutzer {
|
|||
@Override
|
||||
public String toString() {
|
||||
return "Benutzer [bibAusweisNummer= " + bibAusweis.getKartenNummer() + ", name=" + name + ", alter=" + alter + ", istStudent="
|
||||
+ istStudent + ", ist im System Online = " + angemeldet + ", ausgeliehenenMedien=" + ausgeliehenenMedien + "]";
|
||||
+ istStudent + ", ist im System Online = " + angemeldet + "Gebühren= "+ gebühren + ", ausgeliehenenMedien=" + ausgeliehenenMedien + "]";
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
package domain;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import domain.AusleiheSystem.Ausleihe;
|
||||
import domain.AusleiheSystem.AusleiheSystem;
|
||||
import domain.Benutzer.*;
|
||||
import domain.ExceptionsKlassen.*;
|
||||
import domain.Medium.Brettspiel;
|
||||
import domain.Medium.Buch;
|
||||
import domain.Medium.Medium;
|
||||
import domain.Medium.Mediumverwalter;
|
||||
import domain.UserRegistieren.Registieren;
|
||||
|
||||
public class BibSystem {
|
||||
private ArrayList<Benutzer> alleBibBenutzer;
|
||||
private HashMap<String,Mediumverwalter> medien;
|
||||
private ArrayList<Ausleihe> ausleihe;
|
||||
private AusleiheSystem ausleiheSystem;
|
||||
|
||||
public BibSystem() {
|
||||
|
||||
this.alleBibBenutzer = new ArrayList<>();
|
||||
this.medien = new HashMap<>();
|
||||
this.ausleiheSystem = new AusleiheSystem(medien);
|
||||
mediumsAufladen();
|
||||
}
|
||||
|
||||
public List<String> mediumDurchsuchen(String title, String bibKartenNummer) throws MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
List<String> treffer = medien.values().stream()
|
||||
.filter(t -> t.getMedium().getTitle().equalsIgnoreCase(title))
|
||||
.map(t -> t.toString())
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
return (ArrayList<String>) treffer;
|
||||
|
||||
}
|
||||
|
||||
public void userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
||||
Benutzer bibBenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
||||
alleBibBenutzer.add(bibBenutzer);
|
||||
}
|
||||
|
||||
public boolean userAnmdelden(String kartennummer) throws BenutzerNichtGefundenException {
|
||||
Benutzer bibBenutzer = findBenutzer(kartennummer);
|
||||
bibBenutzer.setAngemeldet(true);
|
||||
return bibBenutzer.isAngemeldet();
|
||||
}
|
||||
|
||||
public void mediumAusleihen(String kartennummer, String eindeutigeKennung) throws Exception {
|
||||
Benutzer tempBenutzer = findBenutzer(kartennummer);
|
||||
|
||||
if (tempBenutzer instanceof Mitarbeiter)
|
||||
throw new Exception("Mitarbeiter können keine Mediums ausleihen!");
|
||||
|
||||
if (!checkIfUserImSystemAngemeldetIst(kartennummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(tempBenutzer,eindeutigeKennung);
|
||||
ausleihe.add(neueAusleihe);
|
||||
|
||||
}
|
||||
|
||||
private void mediumsAufladen() {
|
||||
medien.put("B001",new Mediumverwalter (true,10,4, new Buch("t",2018,"Joshua Bloch")));
|
||||
medien.put("B00", new Mediumverwalter (true,10,4, new Buch("Effektives Java Programmieren",2018,"Joshua Bloch")));
|
||||
medien.put("BG001", new Mediumverwalter (false,10,4, new Brettspiel("Die Siedler von Catan",2012,"XY Müller")));
|
||||
|
||||
}
|
||||
|
||||
|
||||
private boolean checkIfUserImSystemAngemeldetIst(String kartennummer) {
|
||||
return alleBibBenutzer.stream()
|
||||
.anyMatch(user -> user.isAngemeldet());
|
||||
}
|
||||
|
||||
private Benutzer findBenutzer(String kartennummer) throws BenutzerNichtGefundenException {
|
||||
return alleBibBenutzer.stream()
|
||||
.filter(k -> k.getBibAusweis().getKartenNummer().equalsIgnoreCase(kartennummer))
|
||||
.findFirst() // nimmt das erste Element des Streams, das die Filterbedingung erfüllt.
|
||||
.orElseThrow(() -> new BenutzerNichtGefundenException ("Benutzer mit Kartennummer " + kartennummer + " nicht gefunden"));
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
package domain.MedienDurchsuchen;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.Benutzer.Benutzer;
|
||||
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
||||
import domain.ExceptionsKlassen.BenutzerNichtGefundenException;
|
||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
import domain.ExceptionsKlassen.MediumNichtGefundenException;
|
||||
import domain.UserRegistieren.Registieren;
|
||||
import domain.fassade.BibSystem;
|
||||
|
||||
class MedienSuchenTest {
|
||||
|
||||
private BibSystem fassade;
|
||||
|
||||
@BeforeEach
|
||||
void erstelleObjekt() throws FalscheEingabeException, BenutzerNichtGefundenException {
|
||||
this.fassade = new BibSystem();
|
||||
fassade.userRegistrieren("obai", "student", 15, "nein");
|
||||
fassade.userAnmdelden("K1000");
|
||||
|
||||
}
|
||||
|
||||
@Disabled
|
||||
void testMedienSuchenNachTitle()throws MediumNichtGefundenException, FalscheEingabeException, BenutzerNichtAngemeldetException {
|
||||
ArrayList<String> nichtAusgeliehen = fassade.mediumDurchsuchen("Effektives Java Programmieren", "K1000");
|
||||
nichtAusgeliehen.forEach(System.out::println);
|
||||
|
||||
}
|
||||
|
||||
@Disabled
|
||||
void testMedienSuchenNachMedienart()throws MediumNichtGefundenException, FalscheEingabeException, BenutzerNichtAngemeldetException {
|
||||
ArrayList<String> nichtAusgeliehen = fassade.mediumDurchsuchen("Videospiele", "K1000");
|
||||
nichtAusgeliehen.forEach(System.out::println);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMedienSuchenNachausgeliehen()throws MediumNichtGefundenException, FalscheEingabeException, BenutzerNichtAngemeldetException {
|
||||
ArrayList<String> nichtAusgeliehen = fassade.mediumDurchsuchen("ausgeliehen", "K1000");
|
||||
nichtAusgeliehen.forEach(System.out::println);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package domain.MedienDurchsuchen;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import domain.Medium.*;
|
||||
|
||||
public class Mediensuchen {
|
||||
|
||||
public ArrayList<String> title(String title, HashMap<String,Mediumverwalter> medien) {
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().getMedium().getTitle().equalsIgnoreCase(title))
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
public ArrayList<String> ausgeliehen(String ausgeliehen, HashMap<String,Mediumverwalter> medien) {
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().isIstAusgeliehen())
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
public ArrayList<String> nichtAusgeliehen(String ausgeliehen, HashMap<String,Mediumverwalter> medien) {
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> !(t.getValue().isIstAusgeliehen()))
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
public ArrayList<String> medienart(String medienart, HashMap<String,Mediumverwalter> medien) {
|
||||
switch(medienart) {
|
||||
case "Bücher":
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().getMedium() instanceof Buch)
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
case "Brettspiele":
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().getMedium() instanceof Brettspiel)
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
case "Dvds":
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().getMedium() instanceof Dvd)
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
case "Cds":
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().getMedium() instanceof Cd)
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
case "Videospiele":
|
||||
return medien.entrySet().stream()
|
||||
.filter(t -> t.getValue().getMedium() instanceof Videospiel)
|
||||
.map(t -> "Eindutige Kennung= " + t.toString()).collect(Collectors.toCollection(ArrayList::new));
|
||||
|
||||
default:
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -6,7 +6,11 @@ public class Brettspiel extends Medium {
|
|||
|
||||
public Brettspiel(String title, int erscheinungsjahr, String Verlag) {
|
||||
super(title, erscheinungsjahr);
|
||||
this.Verlag = Verlag;
|
||||
|
||||
if (Verlag.isEmpty())
|
||||
this.Verlag = "-";
|
||||
else
|
||||
this.Verlag = Verlag;
|
||||
}
|
||||
|
||||
public String getVerlag() {
|
||||
|
|
|
@ -7,7 +7,11 @@ public class Buch extends Medium {
|
|||
|
||||
public Buch(String title, int erscheinungsjahr, String autor) {
|
||||
super(title, erscheinungsjahr);
|
||||
this.autor = autor;
|
||||
|
||||
if (autor.isEmpty())
|
||||
this.autor = "-";
|
||||
else
|
||||
this.autor = autor;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,7 +7,11 @@ public class Cd extends Medium {
|
|||
private String Künstler;
|
||||
public Cd(String title, int erscheinungsjahr,String Künstler) {
|
||||
super(title, erscheinungsjahr);
|
||||
this.Künstler = Künstler;
|
||||
|
||||
if (Künstler.isEmpty())
|
||||
this.Künstler = "-";
|
||||
else
|
||||
this.Künstler = Künstler;
|
||||
}
|
||||
|
||||
public String getKünstler() {
|
||||
|
|
|
@ -6,7 +6,11 @@ public class Dvd extends Medium {
|
|||
private String regisseur;
|
||||
public Dvd(String title, int erscheinungsjahr,String regisseur) {
|
||||
super(title, erscheinungsjahr);
|
||||
this.regisseur = regisseur;
|
||||
|
||||
if (regisseur.isEmpty())
|
||||
this.regisseur = "-";
|
||||
else
|
||||
this.regisseur = regisseur;
|
||||
}
|
||||
|
||||
public String getRegisseur() {
|
||||
|
|
|
@ -48,7 +48,7 @@ public class Mediumverwalter {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Medium=" + medium.toString() + " ,verlängerbar=" + verlängerbar + ", anzahl=" + anzahl + ", wocheAnzahlZumAusleihen="
|
||||
return "Medium=" + medium.toString() + " ,verlängerbar=" + verlängerbar + ", anzahl=" + anzahl + ",ist Ausgeliehen= " + istAusgeliehen + ", wocheAnzahlZumAusleihen="
|
||||
+ wocheAnzahlZumAusleihen ;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,11 @@ public class Videospiel extends Medium {
|
|||
|
||||
public Videospiel(String title, int erscheinungsjahr, String plattform) {
|
||||
super(title, erscheinungsjahr);
|
||||
this.plattform = plattform;
|
||||
|
||||
if (plattform.isEmpty())
|
||||
this.plattform = "-";
|
||||
else
|
||||
this.plattform = plattform;
|
||||
}
|
||||
|
||||
public String getPlattform() {
|
||||
|
|
|
@ -5,7 +5,6 @@ import static org.junit.jupiter.api.Assertions.*;
|
|||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.BibSystem;
|
||||
import domain.Benutzer.Ausweis;
|
||||
import domain.Benutzer.Benutzer;
|
||||
import domain.Benutzer.Kunde;
|
||||
|
@ -13,6 +12,7 @@ import domain.Benutzer.Mitarbeiter;
|
|||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
import domain.Medium.Buch;
|
||||
import domain.Medium.Mediumverwalter;
|
||||
import domain.fassade.BibSystem;
|
||||
|
||||
class RegistrierenTest {
|
||||
private BibSystem bib;
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
package domain.fassade;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import domain.AusleiheSystem.Ausleihe;
|
||||
import domain.AusleiheSystem.AusleiheSystem;
|
||||
import domain.Benutzer.*;
|
||||
import domain.ExceptionsKlassen.*;
|
||||
import domain.MedienDurchsuchen.Mediensuchen;
|
||||
import domain.Medium.Brettspiel;
|
||||
import domain.Medium.Buch;
|
||||
import domain.Medium.Medium;
|
||||
import domain.Medium.Mediumverwalter;
|
||||
import domain.Medium.Videospiel;
|
||||
import domain.UserRegistieren.Registieren;
|
||||
|
||||
public class BibSystem {
|
||||
private ArrayList<Benutzer> alleBibBenutzer;
|
||||
private HashMap<String,Mediumverwalter> medien;
|
||||
private ArrayList<Ausleihe> ausleihe;
|
||||
private AusleiheSystem ausleiheSystem;
|
||||
|
||||
public BibSystem() {
|
||||
|
||||
this.alleBibBenutzer = new ArrayList<>();
|
||||
this.medien = new HashMap<>();
|
||||
this.ausleiheSystem = new AusleiheSystem(medien);
|
||||
mediumsAufladen();
|
||||
}
|
||||
|
||||
public ArrayList<String> mediumDurchsuchen(String auswahl, String bibKartenNummer) throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
ArrayList<String> treffer = new ArrayList<>();
|
||||
Mediensuchen medienSuchen = new Mediensuchen();
|
||||
|
||||
if(auswahl.equalsIgnoreCase("ausgeliehen"))
|
||||
treffer = medienSuchen.ausgeliehen(auswahl, medien);
|
||||
|
||||
else if(auswahl.equalsIgnoreCase("nicht Ausgeliehen"))
|
||||
treffer = medienSuchen.nichtAusgeliehen(auswahl, medien);
|
||||
|
||||
else if(auswahl.equalsIgnoreCase("Bücher") || auswahl.equalsIgnoreCase("Brettspiele") || auswahl.equalsIgnoreCase("Dvds") || auswahl.equalsIgnoreCase("Cds") || auswahl.equalsIgnoreCase("Videospiele") )
|
||||
treffer = medienSuchen.medienart(auswahl, medien);
|
||||
|
||||
else
|
||||
treffer = medienSuchen.title(auswahl, medien);
|
||||
|
||||
|
||||
if (treffer.size() == 0)
|
||||
throw new MediumNichtGefundenException("Kein treffer");
|
||||
|
||||
return treffer;
|
||||
|
||||
}
|
||||
|
||||
public void userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
||||
Benutzer bibBenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
||||
alleBibBenutzer.add(bibBenutzer);
|
||||
}
|
||||
|
||||
public boolean userAnmdelden(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
||||
Benutzer bibBenutzer = findeBenutzer(bibKartenNummer);
|
||||
bibBenutzer.setAngemeldet(true);
|
||||
return bibBenutzer.isAngemeldet();
|
||||
}
|
||||
|
||||
public void mediumAusleihen(String bibKartenNummer, String eindeutigeKennung) throws Exception {
|
||||
Benutzer tempBenutzer = findeBenutzer(bibKartenNummer);
|
||||
|
||||
if (tempBenutzer instanceof Mitarbeiter)
|
||||
throw new Exception("Mitarbeiter können keine Mediums ausleihen!");
|
||||
|
||||
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||
|
||||
Ausleihe neueAusleihe = ausleiheSystem.mediumAusleihen(tempBenutzer,eindeutigeKennung);
|
||||
ausleihe.add(neueAusleihe);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Temporäre Test Methode
|
||||
private void mediumsAufladen() {
|
||||
Mediumverwalter buch = new Mediumverwalter(true, 10, 4, new Buch("Effektives Java Programmieren", 2018, "Joshua Bloch"));
|
||||
medien.put("B001",buch);
|
||||
|
||||
Mediumverwalter buchIStAusgeliehen = new Mediumverwalter(true, 10, 4, new Buch("Effektives C++ Programmieren", 2018, "Joshua Bloch"));
|
||||
buchIStAusgeliehen.setIstAusgeliehen(true);
|
||||
medien.put("B00", buchIStAusgeliehen);
|
||||
|
||||
Mediumverwalter buchIStNichtAusgeliehen = new Mediumverwalter(true, 10, 4, new Buch("Javascript lenren", 2018, "Joshua Bloch"));
|
||||
medien.put("BG001",buchIStNichtAusgeliehen);
|
||||
|
||||
Mediumverwalter Videospiel = new Mediumverwalter(true,2,1,new Videospiel ("The Legend of Zelda: Breath of the Wild", 2017,"Nintendo Switch"));
|
||||
medien.put("BG00122",Videospiel);
|
||||
}
|
||||
|
||||
private boolean checkIfUserImSystemAngemeldetIst(String bibKartenNummer) {
|
||||
return alleBibBenutzer.stream().anyMatch(user -> user.isAngemeldet());
|
||||
}
|
||||
|
||||
private Benutzer findeBenutzer(String bibKartenNummer) throws BenutzerNichtGefundenException {
|
||||
return alleBibBenutzer.stream()
|
||||
.filter(k -> k.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer)).findFirst()
|
||||
.orElseThrow(() -> new BenutzerNichtGefundenException("Benutzer mit Kartennummer " + bibKartenNummer + " nicht gefunden"));
|
||||
}
|
||||
|
||||
}
|
|
@ -1,10 +1,11 @@
|
|||
package domain;
|
||||
package domain.fassade;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.Benutzer.Benutzer;
|
||||
|
@ -22,13 +23,21 @@ class MediumDurchsuchenTest {
|
|||
fassade = new BibSystem();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void testMediumsuchen() throws FalscheEingabeException, BenutzerNichtGefundenException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
fassade.userRegistrieren("obai", "student", 15, "nein");
|
||||
assertTrue(fassade.userAnmdelden("K1000"));
|
||||
ArrayList<String> treffer = (ArrayList<String>) fassade.mediumDurchsuchen("Effektives Java Programmieren", "B001");
|
||||
System.out.println(treffer);
|
||||
|
||||
treffer.forEach(System.out::println);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMediumNichtGefunden() throws FalscheEingabeException, BenutzerNichtGefundenException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
fassade.userRegistrieren("obai", "student", 15, "nein");
|
||||
assertTrue(fassade.userAnmdelden("K1000"));
|
||||
assertThrows(MediumNichtGefundenException.class, () -> fassade.mediumDurchsuchen("C++ Programmieren", "B001"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package domain.fassade;
|
||||
|
||||
import static org.junit.Assert.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import domain.ExceptionsKlassen.BenutzerNichtGefundenException;
|
||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
|
||||
class UserAnmeldenTest {
|
||||
|
||||
BibSystem fassade;
|
||||
@BeforeEach
|
||||
void setUp() throws Exception {
|
||||
fassade = new BibSystem();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAnmelden() throws FalscheEingabeException, BenutzerNichtGefundenException {
|
||||
|
||||
// True => User ist Angemeldet
|
||||
fassade.userRegistrieren("obai", "Student", 15, "nein");
|
||||
assertTrue(fassade.userAnmdelden("K1000"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testBenutzerIstNichtImSystem() throws FalscheEingabeException, BenutzerNichtGefundenException {
|
||||
|
||||
// True, da Benutzer nicht im System ist
|
||||
assertThrows( BenutzerNichtGefundenException.class, () -> fassade.userAnmdelden("K1000") );
|
||||
}
|
||||
|
||||
}
|
|
@ -2,11 +2,11 @@ package tui;
|
|||
|
||||
import java.util.Scanner;
|
||||
|
||||
import domain.BibSystem;
|
||||
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
||||
import domain.ExceptionsKlassen.BenutzerNichtGefundenException;
|
||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
import domain.ExceptionsKlassen.MediumNichtGefundenException;
|
||||
import domain.fassade.BibSystem;
|
||||
|
||||
public class Tui {
|
||||
private BibSystem fassade;
|
||||
|
@ -17,7 +17,7 @@ public class Tui {
|
|||
startBibProgramm();
|
||||
}
|
||||
|
||||
private void startBibProgramm() {
|
||||
private void startBibProgramm() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
String aktion;
|
||||
System.out.println("<< Willkommen in der Bibliothek >>");
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class Tui {
|
|||
System.out.println("Geben Sie bitte die eindutige Kennung des Mediums");
|
||||
System.out.print(">");
|
||||
eindutigeKennung = eingabe.nextLine();
|
||||
|
||||
|
||||
try {
|
||||
fassade.mediumAusleihen(kartennummer, eindutigeKennung);
|
||||
|
||||
|
@ -81,8 +81,29 @@ public class Tui {
|
|||
}
|
||||
|
||||
|
||||
private void mediumDurchsuchenProzess() {
|
||||
|
||||
private void mediumDurchsuchenProzess() throws FalscheEingabeException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||
String auswahl;
|
||||
String bibKartennummer;
|
||||
boolean mediumDurchsuchenProzess = true;
|
||||
System.out.println("Wählen Sie bitte aus, wonache Sie suchen möchten");
|
||||
while (mediumDurchsuchenProzess) {
|
||||
System.out.println("Katalog der Bibliothek: ");
|
||||
System.out.println("Title");
|
||||
System.out.println("Ausgeliehene Medien");
|
||||
System.out.println("Nicht Ausgeliehene Medien");
|
||||
System.out.println("Medienart (Bücher,Brettspiele,Dvds,Cds oder Videospiele");
|
||||
System.out.println("zurück");
|
||||
auswahl = eingabe.nextLine();
|
||||
if (auswahl.equalsIgnoreCase("zurück")){
|
||||
mediumDurchsuchenProzess = false;
|
||||
startBibProgramm();
|
||||
}
|
||||
System.out.println("gebe Sie nun Ihre BibKartenummer");
|
||||
bibKartennummer = eingabe.nextLine();
|
||||
|
||||
fassade.mediumDurchsuchen(auswahl, bibKartennummer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void anmeldenProzess() {
|
||||
|
@ -90,7 +111,6 @@ public class Tui {
|
|||
System.out.println("Geben Sie bitte die Kartennummer Ihres Bibliotheksausweises an: ");
|
||||
System.out.print(">");
|
||||
kartennummer = eingabe.nextLine();
|
||||
|
||||
try {
|
||||
if (fassade.userAnmdelden(kartennummer))
|
||||
System.out.println("Sie sind nun im System Angemeldet");
|
||||
|
|
|
@ -3,6 +3,13 @@ Für das Bibliotheksverwaltungssystem werde ich zunächst eine gründliche Analy
|
|||
Hierbei werde ich festlegen, welche Funktionen und Ziele die Software erfüllen soll. Ein wesentlicher Aspekt ist auch,
|
||||
die unterschiedlichen Akteure zu identifizieren, die die Software verwenden werden, um ihre Bedürfnisse und Anforderungen zu berücksichtigen.
|
||||
|
||||
Das Bibsystem unterstützt 6 Aktionen:
|
||||
Aktion1 : Registrieren
|
||||
Also hier werde ich in der UI dem Benutzer die Möglichkeit seine Daten einzugeben(Name,alter,etc...)
|
||||
die Fassade nimmt die Daten entgegen und erstellt für die Benutzer ein neues Konto und ein neuer Ausweis
|
||||
hier soll der kunde eingeben, ob er normale Kunde ist oder ein Mitarbeiter(Admin)
|
||||
|
||||
|
||||
Design und Datenstrukturentscheidung:
|
||||
In diesem Schritt plane und entwerfe ich die grundlegende Klassenstruktur.
|
||||
Dazu werde ich ermitteln, wie viele Klassen benötigt werden und welche Attribute und Methoden jede Klasse enthalten soll.
|
||||
|
|
Loading…
Reference in New Issue