From 2ed45ae78e6969a0de1b6123096f10895883442d Mon Sep 17 00:00:00 2001 From: Jenny Schmalz Date: Mon, 28 Nov 2022 15:24:02 -0800 Subject: [PATCH 1/2] complete parts 1-3 --- JavaFinalProject.iml | 28 +++++++++++++++++++ src/com/generation/model/Student.java | 7 +++++ .../generation/service/StudentService.java | 8 ++++++ src/com/generation/utils/PrinterHelper.java | 11 ++++++++ .../service/StudentServiceTest.java | 22 +++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 test/com/generation/service/StudentServiceTest.java diff --git a/JavaFinalProject.iml b/JavaFinalProject.iml index c90834f..30e1223 100644 --- a/JavaFinalProject.iml +++ b/JavaFinalProject.iml @@ -3,9 +3,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/generation/model/Student.java b/src/com/generation/model/Student.java index 0897ebe..d27ca70 100644 --- a/src/com/generation/model/Student.java +++ b/src/com/generation/model/Student.java @@ -24,6 +24,8 @@ public Student( String id, String name, String email, Date birthDate ) public void enrollToCourse( Course course ) { //TODO implement this method + + courses.add(course); } public void registerApprovedCourse( Course course ) @@ -35,6 +37,11 @@ public void registerApprovedCourse( Course course ) public boolean isAttendingCourse( String courseCode ) { //TODO implement this method + for (int i = 0; i < courses.size(); i++) { + if (courses.get(i).equals(courseCode)) { + return true; + } + } return false; } diff --git a/src/com/generation/service/StudentService.java b/src/com/generation/service/StudentService.java index f980e40..e30207a 100644 --- a/src/com/generation/service/StudentService.java +++ b/src/com/generation/service/StudentService.java @@ -27,6 +27,14 @@ public Student findStudent( String studentId ) public void showSummary() { //TODO implement + + System.out.println("Student info:"); + + for (String key : students.keySet() ) { + Student student = students.get(key); + System.out.println(student); + } + } public void enrollToCourse( String studentId, Course course ) diff --git a/src/com/generation/utils/PrinterHelper.java b/src/com/generation/utils/PrinterHelper.java index 6f1ca9b..0972ba6 100644 --- a/src/com/generation/utils/PrinterHelper.java +++ b/src/com/generation/utils/PrinterHelper.java @@ -40,7 +40,18 @@ public static Student createStudentMenu( Scanner scanner ) System.out.println( "| Enter student birth date(mm/dd/yyyy)|" ); DateFormat formatter = new SimpleDateFormat( "mm/dd/yyyy"); //TODO validate date format and catch exception to avoid crash + Date birthDate = formatter.parse( scanner.next()); + + // i think i'm suppose to use try catch, but not sure how.. +// try { +// if (birthDate != ParseException) { +// +// } +// } catch (ParseException e) { +// System.out.println("Wrong date format"); +// } + System.out.println( "|-------------------------------------|" ); Student student = new Student( id, name, email, birthDate ); System.out.println( "Student Successfully Registered! " ); diff --git a/test/com/generation/service/StudentServiceTest.java b/test/com/generation/service/StudentServiceTest.java new file mode 100644 index 0000000..7b10828 --- /dev/null +++ b/test/com/generation/service/StudentServiceTest.java @@ -0,0 +1,22 @@ +package com.generation.service; + +import static org.junit.jupiter.api.Assertions.*; + +class StudentServiceTest { + + @org.junit.jupiter.api.Test + void subscribeStudent() { + } + + @org.junit.jupiter.api.Test + void findStudent() { + } + + @org.junit.jupiter.api.Test + void showSummary() { + } + + @org.junit.jupiter.api.Test + void enrollToCourse() { + } +} \ No newline at end of file From e5230cea696acdb43d1a9865bb28e68461535681 Mon Sep 17 00:00:00 2001 From: Jenny Schmalz Date: Wed, 30 Nov 2022 08:50:34 -0800 Subject: [PATCH 2/2] updated PrinterHelper and tests --- src/com/generation/model/Student.java | 9 +++++++- src/com/generation/utils/PrinterHelper.java | 22 ++++++++++--------- .../service/StudentServiceTest.java | 12 ++++++++++ 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/com/generation/model/Student.java b/src/com/generation/model/Student.java index d27ca70..8522c43 100644 --- a/src/com/generation/model/Student.java +++ b/src/com/generation/model/Student.java @@ -25,7 +25,14 @@ public void enrollToCourse( Course course ) { //TODO implement this method - courses.add(course); + //COME BACK TO THIS + + if (!isAttendingCourse(course.getCode())) { + courses.add(course); + } else { + System.out.println("Already enrolled"); + } + } public void registerApprovedCourse( Course course ) diff --git a/src/com/generation/utils/PrinterHelper.java b/src/com/generation/utils/PrinterHelper.java index 0972ba6..3d19056 100644 --- a/src/com/generation/utils/PrinterHelper.java +++ b/src/com/generation/utils/PrinterHelper.java @@ -38,19 +38,21 @@ public static Student createStudentMenu( Scanner scanner ) System.out.println( "| Enter student email: |" ); String email = scanner.next(); System.out.println( "| Enter student birth date(mm/dd/yyyy)|" ); - DateFormat formatter = new SimpleDateFormat( "mm/dd/yyyy"); + DateFormat formatter = new SimpleDateFormat( "MM/dd/yyyy"); //TODO validate date format and catch exception to avoid crash + boolean checkDate = false; + Date birthDate = null; - Date birthDate = formatter.parse( scanner.next()); + while(!checkDate) { + System.out.println("| Enter student birth date(mm/dd/yyyy)|"); + try { + birthDate = formatter.parse( scanner.next()); + checkDate = true; + } catch (ParseException e) { + System.out.println("Wrong date format"); + } + }; - // i think i'm suppose to use try catch, but not sure how.. -// try { -// if (birthDate != ParseException) { -// -// } -// } catch (ParseException e) { -// System.out.println("Wrong date format"); -// } System.out.println( "|-------------------------------------|" ); Student student = new Student( id, name, email, birthDate ); diff --git a/test/com/generation/service/StudentServiceTest.java b/test/com/generation/service/StudentServiceTest.java index 7b10828..0167561 100644 --- a/test/com/generation/service/StudentServiceTest.java +++ b/test/com/generation/service/StudentServiceTest.java @@ -1,15 +1,27 @@ package com.generation.service; +import com.generation.model.Student; +import org.junit.jupiter.api.BeforeEach; + import static org.junit.jupiter.api.Assertions.*; class StudentServiceTest { + public StudentService studentService; + + @BeforeEach + void testObj(){ + studentService = new StudentService(); + } + @org.junit.jupiter.api.Test void subscribeStudent() { } @org.junit.jupiter.api.Test void findStudent() { + Student stdnt = studentService.findStudent(""); + assertEquals(null, stdnt); } @org.junit.jupiter.api.Test