From d94f43320da16527440fb7d247e7625a4f417590 Mon Sep 17 00:00:00 2001 From: fdai7887 Date: Thu, 8 Feb 2024 18:34:56 +0100 Subject: [PATCH 1/6] Implemented enrollProfToCourse function in Main class --- src/main/java/org/example/Main.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index f41f76d..ed91152 100644 --- a/src/main/java/org/example/Main.java +++ b/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 { @@ -44,6 +46,27 @@ public class Main { break; case 3: // Enroll Prof to Course + + System.out.println("Please enter Professor ID"); + String profID = scanner.next(); + while(administration.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(administration.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 = administration.findProfessorById(profID); + Course course = administration.findCourseByID(courseID); + List courseList = prof.getCoursesTaught(); + courseList.add(course); + prof.setCoursesTaught(courseList); + break; case 4: // Drop Prof from Course From 5190b04a81fc96d3d39c333d01ae79092da03d75 Mon Sep 17 00:00:00 2001 From: fdai7887 Date: Thu, 8 Feb 2024 18:41:55 +0100 Subject: [PATCH 2/6] refactoring: Moved enrollProfInCourse function to Administration --- src/main/java/org/example/Administration.java | 25 +++++++++++++++++++ src/main/java/org/example/Main.java | 22 +--------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/example/Administration.java b/src/main/java/org/example/Administration.java index bbd7f83..e5e4a69 100644 --- a/src/main/java/org/example/Administration.java +++ b/src/main/java/org/example/Administration.java @@ -407,6 +407,31 @@ 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 courseList = prof.getCoursesTaught(); + courseList.add(course); + prof.setCoursesTaught(courseList); + System.out.println("Professor enrolled successfully"); + + } + } diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index ed91152..2209447 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -46,27 +46,7 @@ public class Main { break; case 3: // Enroll Prof to Course - - System.out.println("Please enter Professor ID"); - String profID = scanner.next(); - while(administration.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(administration.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 = administration.findProfessorById(profID); - Course course = administration.findCourseByID(courseID); - List courseList = prof.getCoursesTaught(); - courseList.add(course); - prof.setCoursesTaught(courseList); - + administration.enrollProfInCourse(); break; case 4: // Drop Prof from Course From ce73746c0fc05ba8b30fc30c8a17c56cba8f1fec Mon Sep 17 00:00:00 2001 From: fdai7887 Date: Thu, 8 Feb 2024 19:11:13 +0100 Subject: [PATCH 3/6] Added dropProfFromCourse function in Main class --- src/main/java/org/example/Main.java | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index 2209447..810ca44 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -50,6 +50,46 @@ public class Main { break; case 4: // Drop Prof from Course + System.out.println("Please enter Professor ID"); + String profID = scanner.next(); + while(administration.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 = administration.findProfessorById(profID); + List courseList = prof.getCoursesTaught(); + + System.out.println("Please enter Course ID"); + String courseID = scanner.next(); + + boolean isDeleted = false; + while(!isDeleted) { + //Checks if course exists + while(administration.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(administration.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"); + System.out.println("To return to main menu enter '0'"); + courseID = scanner.next(); + } + + } + break; case 5: // Drop Student from Course From ae092ecf82b92ed7f929a492ed9a883ee9a2cc04 Mon Sep 17 00:00:00 2001 From: fdai7887 Date: Thu, 8 Feb 2024 19:14:28 +0100 Subject: [PATCH 4/6] refactoring: Moved dropProfFromCourse to Administration class --- src/main/java/org/example/Administration.java | 44 +++++++++++++++++++ src/main/java/org/example/Main.java | 40 +---------------- 2 files changed, 45 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/example/Administration.java b/src/main/java/org/example/Administration.java index e5e4a69..fedf350 100644 --- a/src/main/java/org/example/Administration.java +++ b/src/main/java/org/example/Administration.java @@ -432,6 +432,50 @@ public class Administration { } + 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 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(); + } + + } + + + + + } } diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index 810ca44..a5ebe9f 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -50,45 +50,7 @@ public class Main { break; case 4: // Drop Prof from Course - System.out.println("Please enter Professor ID"); - String profID = scanner.next(); - while(administration.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 = administration.findProfessorById(profID); - List courseList = prof.getCoursesTaught(); - - System.out.println("Please enter Course ID"); - String courseID = scanner.next(); - - boolean isDeleted = false; - while(!isDeleted) { - //Checks if course exists - while(administration.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(administration.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"); - System.out.println("To return to main menu enter '0'"); - courseID = scanner.next(); - } - - } + administration.dropProfFromCourse(); break; case 5: From ec0b692ce716b1a1a0692f0e445b672f4e84c3fe Mon Sep 17 00:00:00 2001 From: Tobias Herbert Date: Thu, 8 Feb 2024 19:51:00 +0100 Subject: [PATCH 5/6] test: Added enrollInCourse Test Function --- .../java/org/example/AdministrationTest.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/test/java/org/example/AdministrationTest.java b/src/test/java/org/example/AdministrationTest.java index 819012e..4d2d885 100644 --- a/src/test/java/org/example/AdministrationTest.java +++ b/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,52 @@ 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 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 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); + + } + +} From bf345ba729c83e66d764f33ceb4e65297ce3e1bd Mon Sep 17 00:00:00 2001 From: Tobias Herbert Date: Thu, 8 Feb 2024 20:03:22 +0100 Subject: [PATCH 6/6] test: Added registerUser Test Function --- .../java/org/example/AdministrationTest.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/src/test/java/org/example/AdministrationTest.java b/src/test/java/org/example/AdministrationTest.java index 4d2d885..647c024 100644 --- a/src/test/java/org/example/AdministrationTest.java +++ b/src/test/java/org/example/AdministrationTest.java @@ -324,4 +324,71 @@ class AdministrationTest { } + @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()); + + } }