Browse Source

Merge branch 'master' of gitlab.cs.hs-fulda.de:fdai7600/PWN_Alpha_Dogs into fdai7600

# Conflicts:
#	src/main/java/org/example/Administration.java
remotes/origin/fdai7780
fdai7600 11 months ago
parent
commit
798cb5c36d
  1. 69
      src/main/java/org/example/Administration.java
  2. 5
      src/main/java/org/example/Main.java
  3. 117
      src/test/java/org/example/AdministrationTest.java

69
src/main/java/org/example/Administration.java

@ -440,6 +440,75 @@ public class Administration {
}
}
public void enrollProfInCourse(){
System.out.println("Please enter Professor ID");
String profID = scanner.next();
while(this.findProfessorById(profID) == null){
System.out.println("This Professor does not exist");
System.out.println("Please enter a new Professor ID");
profID = scanner.next();
}
System.out.println("Please enter Course ID");
String courseID = scanner.next();
while(this.findCourseByID(courseID) == null){
System.out.println("This Course does not exist");
System.out.println("Please enter a new Course ID");
courseID = scanner.next();
}
Professor prof = this.findProfessorById(profID);
Course course = this.findCourseByID(courseID);
List<Course> courseList = prof.getCoursesTaught();
courseList.add(course);
prof.setCoursesTaught(courseList);
System.out.println("Professor enrolled successfully");
}
public void dropProfFromCourse(){
System.out.println("Please enter Professor ID");
String profID = scanner.next();
while(this.findProfessorById(profID) == null){
System.out.println("This Professor does not exist");
System.out.println("Please enter a new Professor ID");
profID = scanner.next();
}
Professor prof = this.findProfessorById(profID);
List<Course> courseList = prof.getCoursesTaught();
System.out.println("Please enter Course ID");
String courseID = scanner.next();
boolean isDeleted = false;
while(!isDeleted) {
//Checks if course exists
while(this.findCourseByID(courseID) == null ){
System.out.println("This Course does not exist");
System.out.println("Please enter a new Course ID");
courseID = scanner.next();
}
//Checks if Prof is enrolled in course
for (Course course : courseList) {
if (course.getCourseID().equals(courseID)) {
courseList.remove(this.findCourseByID(courseID));
prof.setCoursesTaught(courseList);
System.out.println("Course deleted successfully");
isDeleted = true;
break;
}
System.out.println("The Professor is not enrolled in this course");
System.out.println("Please enter a new Course ID");
courseID = scanner.next();
}
}
}
}

5
src/main/java/org/example/Main.java

@ -1,4 +1,6 @@
package org.example;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
@ -49,9 +51,12 @@ public class Main {
break;
case 3:
// Enroll Prof to Course
administration.enrollProfInCourse();
break;
case 4:
// Drop Prof from Course
administration.dropProfFromCourse();
break;
case 5:
// Drop Student from Course

117
src/test/java/org/example/AdministrationTest.java

@ -2,6 +2,8 @@ package org.example;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
class AdministrationTest {
@ -274,4 +276,119 @@ class AdministrationTest {
}
@Test
void testEnrollProfInCourse() {
Administration administration = new Administration();
//Professor who is about to get enrolled in a course
Professor professor = new Professor("P1001", "Alex", "Professor" );
administration.addProfessor(professor);
//The "User input" to determine the professor
String profID = professor.getProfessorID();
//Course the professor is being enrolled in
Course course = new Course("Swag", "C101", 5);
administration.addCourse(course);
//The "User input" to determine the course
String courseID = course.getCourseID();
Professor professorFound = administration.findProfessorById(profID);
Course courseFound = administration.findCourseByID(courseID);
//Grabs the coursesTaught List from the Professor the user wants to enroll
List<Course> courseList = professorFound.getCoursesTaught();
//Assigning the course to the Prof by adding it the to the courseList
courseList.add(course);
//The Professor gets the updated courseList
professorFound.setCoursesTaught(courseList);
//Grabs the courseTaught List from the created Professor
List<Course> checkList = professor.getCoursesTaught();
boolean hasCourse = false;
//Checks if this List no contains the newly added course
for (Course courseSearch : checkList)
{
if(courseSearch.getCourseID() == courseID)
{
hasCourse = true;
}
}
//If true everything worked
assertTrue(hasCourse);
}
@Test
void registerUser() {
Administration administration = new Administration();
//Selects the userType
int userType = 1;
//Checks if the user Input correct; in this case its pre-determined
boolean correctData = false;
while(!correctData)
{
//User Input
String userName = "Tobias";
String userId = "S1010";
//Checks if the entered id is already being used
if(administration.findProfessorById(userId) != null || administration.findAdminById(userId) != null || administration.findStudentById(userId) != null) {
}
else if(administration.findProfessorById(userId) == null || administration.findAdminById(userId) == null || administration.findStudentById(userId) == null)
{
//the entered id is not used
if(!administration.rightPrefix(userId, userType))
{
//the prefix is wrong
}
else if(!administration.isNumber(userId))
{
//the substring does not contain only digits
System.out.println("Every character besides the first one need to be digits");
}
else{
//the id is not being used and has the right id-"syntax"
System.out.println("The Id has not been used already!");
correctData = true;
}
}
switch (userType)
{
case 1: //Student
Student student = new Student(userName, userId, "Student");
administration.addStudents(student);
break;
case 2: //Admin
Admin admin = new Admin(userName, userId, "Admin");
administration.addAdmin(admin);
break;
case 3: //Professor
Professor professor = new Professor(userId, userName, "Professor");
administration.addProfessor(professor);
default: //Error
break;
}
}
//If All three are correct, the registerUser Function has been successful
assertEquals("Tobias", administration.findStudentById("S1010").getStudentName());
assertEquals("S1010", administration.findStudentById("S1010").getStudentId());
assertEquals("Student",administration.findStudentById("S1010").getStudentRole());
}
}
Loading…
Cancel
Save