From cfdb19d24474de370ceb135de0cda69668e3a626 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Fri, 1 Nov 2024 18:19:07 +0000 Subject: [PATCH 1/5] feat: Added Zion's Bedroom Object and Test to lesson_16 --- .../objects_app/src/main/bedroom/bedroom.java | 67 +++++++++++++++++++ .../objects_app/src/test/bedroomTest.java | 35 ++++++++++ 2 files changed, 102 insertions(+) create mode 100644 lesson_16/objects/objects_app/src/main/bedroom/bedroom.java create mode 100644 lesson_16/objects/objects_app/src/test/bedroomTest.java diff --git a/lesson_16/objects/objects_app/src/main/bedroom/bedroom.java b/lesson_16/objects/objects_app/src/main/bedroom/bedroom.java new file mode 100644 index 000000000..70e55a7a2 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/bedroom/bedroom.java @@ -0,0 +1,67 @@ +public class bedroom { + //enum for bed sizes + enum MattressSize { + TWIN, QUEEN, KING + } + + + // Member variables + private int numberOfWalls; + private int numberOfWindows; + private String colorOfWall; + private boolean isOutletWorking; + private MattressSize bedSize; + + + + // HashMapdrawers; + //code 14 to 17 put lines + + // drawers.put("Drawer1", "Shirts"); + // drawers.put("Drawer2", "Socks"); + // drawers.put("Drawer3", "PJs"); + // drawers.put("Drawer4", "Underwear"); + +//Constructor + public Bedroom(int numberOfWalls, int numberOfWindows, String colorOfWall, boolean isOutletWorking, MattressSize bedSize) { + this.numberOfWalls = numberOfWalls; + this.numberOfWindows = numberOfWindows; + this.colorOfWall = colorOfWall; + this.isOutletWorking = isOutletWorking; + this.bedSize = bedSize; + } + +//Getters and Setters for each member variable + public int getNumberOfWalls() { + return numberOfWalls; + } + public void setNumberOfWalls(int numberOfWalls) { + this.numberOfWalls=numberOfWalls; + } + public int getNumberOfWindows() { + return numberOfWindows; + } + public void setNumberOfWindows(int numberOfWindows) { + this.numberOfWindows=numberOfWindows; + } + public String getColorOfWall() { + return ColorOfWall; + } + public void setColorOfWall(String colorOfWall) { + this.colorOfWall=colorOfWall; + } + public boolean isOutletWorking() { + return isOutletWorking; + } + public void setOutletWorking(boolean outletWorking) { + isOutletWorking=outletWorking; + } + public MattressSize getBedSize() { + return bedSize; + } + public void setBedSize(MattressSize bedSize) { + this.bedSize=bedSize; + } + +} +} diff --git a/lesson_16/objects/objects_app/src/test/bedroomTest.java b/lesson_16/objects/objects_app/src/test/bedroomTest.java new file mode 100644 index 000000000..c9994a924 --- /dev/null +++ b/lesson_16/objects/objects_app/src/test/bedroomTest.java @@ -0,0 +1,35 @@ +public class bedroomTest { + import org.junit.jupiter.api.Test; + +public class BedroomTest { + +@Test +public void tesGetColor(){ +Bedroom.getColor(); +var coloris="green"; +} +@Test +public void testGetColor() { + Bedroom bedroom = new Bedroom("Green", 4, 2, true, Bedroom.MattressSize.KING); + String color = bedroom.getwallColor(); //access color of wall + var coloris= "green"; +} + +@Test +public class Bedroom { + private String Bedroom; + private int value; + + public Bedroom("Green", 4){ + this.Bedroom=Bedroom; + this.value=value; + } + + } + +public +} + + + +} From 763424df23dc24b49807f63536b6afe34fc6113c Mon Sep 17 00:00:00 2001 From: zionbuch Date: Fri, 1 Nov 2024 20:41:36 +0000 Subject: [PATCH 2/5] fix: naming errors --- .../lesson16/bedroom/BedRoom.java} | 15 +++++++++++++-- .../lesson16/bedroom/BedRoomTest.java} | 5 +++-- 2 files changed, 16 insertions(+), 4 deletions(-) rename lesson_16/objects/objects_app/src/main/{bedroom/bedroom.java => java/com/codedifferently/lesson16/bedroom/BedRoom.java} (79%) rename lesson_16/objects/objects_app/src/test/{bedroomTest.java => java/com/codedifferently/lesson16/bedroom/BedRoomTest.java} (88%) diff --git a/lesson_16/objects/objects_app/src/main/bedroom/bedroom.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java similarity index 79% rename from lesson_16/objects/objects_app/src/main/bedroom/bedroom.java rename to lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java index 70e55a7a2..1dc9d73c8 100644 --- a/lesson_16/objects/objects_app/src/main/bedroom/bedroom.java +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java @@ -1,4 +1,4 @@ -public class bedroom { +public class BedRoom { //enum for bed sizes enum MattressSize { TWIN, QUEEN, KING @@ -23,7 +23,7 @@ enum MattressSize { // drawers.put("Drawer4", "Underwear"); //Constructor - public Bedroom(int numberOfWalls, int numberOfWindows, String colorOfWall, boolean isOutletWorking, MattressSize bedSize) { + public bedRoom(int numberOfWalls, int numberOfWindows, String colorOfWall, boolean isOutletWorking, MattressSize bedSize) { this.numberOfWalls = numberOfWalls; this.numberOfWindows = numberOfWindows; this.colorOfWall = colorOfWall; @@ -63,5 +63,16 @@ public void setBedSize(MattressSize bedSize) { this.bedSize=bedSize; } + + + @Override + public String toString() { + return "Bedroom{" + + "numberOfWalls=" + numberOfWalls + + ", numberOfWindows=" + numberOfWindows + + ", colorOfWall='" + colorOfWall + '\'' + + ", isOutletWorking=" + isOutletWorking + + ", bedSize=" + bedSize + + '}'; } } diff --git a/lesson_16/objects/objects_app/src/test/bedroomTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java similarity index 88% rename from lesson_16/objects/objects_app/src/test/bedroomTest.java rename to lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java index c9994a924..0a2371f3a 100644 --- a/lesson_16/objects/objects_app/src/test/bedroomTest.java +++ b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java @@ -1,10 +1,11 @@ + +import org.junit.jupiter.api.Test; public class bedroomTest { - import org.junit.jupiter.api.Test; public class BedroomTest { @Test -public void tesGetColor(){ +public void testGetColor(){ Bedroom.getColor(); var coloris="green"; } From 5b315698a7b8ba9f24a5f71a1fecd7c375a15699 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Tue, 5 Nov 2024 15:13:52 +0000 Subject: [PATCH 3/5] feat: added Zion's Movie Object and Test to lesson_16 hw --- .../lesson16/bedroom/BedRoom.java | 78 ------------------- .../lesson16/movie/Genres.java | 14 ++++ .../codedifferently/lesson16/movie/Movie.java | 63 +++++++++++++++ .../lesson16/movie/MovieRating.java | 8 ++ .../lesson16/movie/releaseYear.java | 8 ++ .../lesson16/bedroom/BedRoomTest.java | 36 --------- .../lesson16/movie/MovieTest.java | 55 +++++++++++++ 7 files changed, 148 insertions(+), 114 deletions(-) delete mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Genres.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/MovieRating.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java delete mode 100644 lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java create mode 100644 lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java deleted file mode 100644 index 1dc9d73c8..000000000 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/bedroom/BedRoom.java +++ /dev/null @@ -1,78 +0,0 @@ -public class BedRoom { - //enum for bed sizes - enum MattressSize { - TWIN, QUEEN, KING - } - - - // Member variables - private int numberOfWalls; - private int numberOfWindows; - private String colorOfWall; - private boolean isOutletWorking; - private MattressSize bedSize; - - - - // HashMapdrawers; - //code 14 to 17 put lines - - // drawers.put("Drawer1", "Shirts"); - // drawers.put("Drawer2", "Socks"); - // drawers.put("Drawer3", "PJs"); - // drawers.put("Drawer4", "Underwear"); - -//Constructor - public bedRoom(int numberOfWalls, int numberOfWindows, String colorOfWall, boolean isOutletWorking, MattressSize bedSize) { - this.numberOfWalls = numberOfWalls; - this.numberOfWindows = numberOfWindows; - this.colorOfWall = colorOfWall; - this.isOutletWorking = isOutletWorking; - this.bedSize = bedSize; - } - -//Getters and Setters for each member variable - public int getNumberOfWalls() { - return numberOfWalls; - } - public void setNumberOfWalls(int numberOfWalls) { - this.numberOfWalls=numberOfWalls; - } - public int getNumberOfWindows() { - return numberOfWindows; - } - public void setNumberOfWindows(int numberOfWindows) { - this.numberOfWindows=numberOfWindows; - } - public String getColorOfWall() { - return ColorOfWall; - } - public void setColorOfWall(String colorOfWall) { - this.colorOfWall=colorOfWall; - } - public boolean isOutletWorking() { - return isOutletWorking; - } - public void setOutletWorking(boolean outletWorking) { - isOutletWorking=outletWorking; - } - public MattressSize getBedSize() { - return bedSize; - } - public void setBedSize(MattressSize bedSize) { - this.bedSize=bedSize; - } - - - - @Override - public String toString() { - return "Bedroom{" + - "numberOfWalls=" + numberOfWalls + - ", numberOfWindows=" + numberOfWindows + - ", colorOfWall='" + colorOfWall + '\'' + - ", isOutletWorking=" + isOutletWorking + - ", bedSize=" + bedSize + - '}'; -} -} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Genres.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Genres.java new file mode 100644 index 000000000..1aaceab09 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Genres.java @@ -0,0 +1,14 @@ +package com.codedifferently.lesson16.movie; + +public enum Genres { + DRAMA, + COMEDY, + ACTION, + THRILLER, + HORROR, + SCIENCE_FICTION, + FANTASY, + ROMANCE, + ADVENTURE, + MYSTERY; +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java new file mode 100644 index 000000000..672dec24f --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java @@ -0,0 +1,63 @@ +package com.codedifferently.lesson16.movie; + +public class Movie { + + // member variables + private String title; + private int releaseYear; + private double rating; + private final Genres genres; + private final MovieRating movieRating; + + // constructor + public Movie( + String title, int releaseYear, double rating, MovieRating movieRating, Genres genres) { + this.title = title; + this.releaseYear = releaseYear; + this.rating = rating; + this.movieRating = movieRating; + this.genres = genres; + } + + // getters and setters member functions + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public int getReleaseYear() { + return releaseYear; + } + + public int setReleaseYear(int releaseYear) { + return this.releaseYear = releaseYear; + } + + public double getRating() { + return rating; + } + + public double setRating(double rating) { + return this.rating = rating; + } + + public Genres getGenres() { + return genres; + } + + public MovieRating getMovieRating() { + return movieRating; + } + + public String getMovieTitle() { + return title; + } + + public String setMovieTitle() { + return "Creed 2"; + } +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/MovieRating.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/MovieRating.java new file mode 100644 index 000000000..c23a8f878 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/MovieRating.java @@ -0,0 +1,8 @@ +package com.codedifferently.lesson16.movie; + +public enum MovieRating { + G, + PG, + PG_13, + R; +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java new file mode 100644 index 000000000..519e76691 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java @@ -0,0 +1,8 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ + +package com.codedifferently.lesson16.movie; + +class releaseYear {} diff --git a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java deleted file mode 100644 index 0a2371f3a..000000000 --- a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/bedroom/BedRoomTest.java +++ /dev/null @@ -1,36 +0,0 @@ - -import org.junit.jupiter.api.Test; -public class bedroomTest { - -public class BedroomTest { - -@Test -public void testGetColor(){ -Bedroom.getColor(); -var coloris="green"; -} -@Test -public void testGetColor() { - Bedroom bedroom = new Bedroom("Green", 4, 2, true, Bedroom.MattressSize.KING); - String color = bedroom.getwallColor(); //access color of wall - var coloris= "green"; -} - -@Test -public class Bedroom { - private String Bedroom; - private int value; - - public Bedroom("Green", 4){ - this.Bedroom=Bedroom; - this.value=value; - } - - } - -public -} - - - -} diff --git a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java new file mode 100644 index 000000000..030fcee4b --- /dev/null +++ b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java @@ -0,0 +1,55 @@ +package com.codedifferently.lesson16.movie; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class MovieTest { + Movie movie; + + @BeforeEach + public void setUp() { + movie = new Movie("Creed", 2015, 7.6, MovieRating.PG_13, Genres.ACTION); + } + + @Test + void testGetMovieTitle() { + // act + String title = movie.getMovieTitle(); + // assert + assertEquals("Creed", title); + } + + @Test + void testSetMovieTitle() { + // arrange + // act + String title = movie.setMovieTitle(); + // assert + assertEquals("Creed 2", title); + } + + @Test + void testGetReleaseYear() { + int releaseYear = movie.getReleaseYear(); + assertEquals(2015, 2015); + } + + @Test + void testSetReleaseYear() { + int releaseYear = movie.setReleaseYear(2018); + assertEquals(movie.getReleaseYear(), 2018); + } + + @Test + void testGetRating() { + double rating = movie.getRating(); + assertEquals(movie.getRating(), 7.6); + } + + @Test + void testGetGenres() { + assertEquals(Genres.ACTION, movie.getGenres()); + } +} From fd8880c060b29734400567706ec6eb477b88f493 Mon Sep 17 00:00:00 2001 From: zionbuch Date: Tue, 5 Nov 2024 19:02:07 +0000 Subject: [PATCH 4/5] feix: Mresolved changes --- .../Lunch/InvalidCalorieException.java | 7 -- .../codedifferently/lesson16/Lunch/Lunch.java | 73 ------------------- .../codedifferently/lesson16/movie/Movie.java | 16 ++-- .../lesson16/movie/releaseYear.java | 8 -- .../lesson16/movie/MovieTest.java | 5 +- 5 files changed, 10 insertions(+), 99 deletions(-) delete mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/InvalidCalorieException.java delete mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/Lunch.java delete mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/InvalidCalorieException.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/InvalidCalorieException.java deleted file mode 100644 index 6332ab883..000000000 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/InvalidCalorieException.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.codedifferently.lesson16.lunch; - -public class InvalidCalorieException extends Exception { - public InvalidCalorieException(String message) { - super(message); - } -} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/Lunch.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/Lunch.java deleted file mode 100644 index bb3f69ca1..000000000 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/Lunch/Lunch.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.codedifferently.lesson16.lunch; - -import java.util.ArrayList; - -public class Lunch { - - public enum LunchType { - VEGETARIAN, - NON_VEGETARIAN, - VEGAN, - GLUTEN_FREE - } - - // Member variables - private final String mainDish; // String type - private final String sideDish; // String type - private final int calories; // Integer type - private final LunchType lunchType; // Enum type - private final ArrayList drinks; // Collection type (ArrayList) - - // Constructor - public Lunch(String mainDish, String sideDish, int calories, LunchType lunchType) - throws InvalidCalorieException { - if (calories <= 0) { - throw new InvalidCalorieException("Calories cannot be zero or negative."); - } - this.mainDish = mainDish; - this.sideDish = sideDish; - this.calories = calories; - this.lunchType = lunchType; - this.drinks = new ArrayList<>(); - } - - // Member function to add a drink - public void addDrink(String drink) { - drinks.add(drink); - } - - // Member function to get a healthy message based on calories - public String getHealthMessage() { - return (calories < 500) ? "This lunch is healthy!" : "This lunch is high in calories."; - } - - // Member function to display all drinks - public void displayDrinks() { - - System.out.println("Available drinks:"); - for (String drink : drinks) { - System.out.println("- " + drink); - } - } - - // Getters for member variables (optional) - public String getMainDish() { - return mainDish; - } - - public String getSideDish() { - return sideDish; - } - - public int getCalories() { - return calories; - } - - public LunchType getLunchType() { - return lunchType; - } - - public ArrayList getDrinks() { - return drinks; - } -} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java index 672dec24f..8c372b785 100644 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java @@ -21,12 +21,12 @@ public Movie( // getters and setters member functions - public String getTitle() { + public String getTitle() { return title; } - public void setTitle(String title) { - this.title = title; + public String setTitle() { + return "Creed 2"; } public int getReleaseYear() { @@ -53,11 +53,11 @@ public MovieRating getMovieRating() { return movieRating; } - public String getMovieTitle() { - return title; - } + //Conditional + if MovieRating =< 4 { + return "Title"; + } + - public String setMovieTitle() { - return "Creed 2"; } } diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java deleted file mode 100644 index 519e76691..000000000 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/releaseYear.java +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license - * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template - */ - -package com.codedifferently.lesson16.movie; - -class releaseYear {} diff --git a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java index 030fcee4b..8d03c2f80 100644 --- a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java +++ b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java @@ -1,7 +1,6 @@ package com.codedifferently.lesson16.movie; import static org.junit.jupiter.api.Assertions.assertEquals; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -16,7 +15,7 @@ public void setUp() { @Test void testGetMovieTitle() { // act - String title = movie.getMovieTitle(); + String title = movie.getTitle(); // assert assertEquals("Creed", title); } @@ -25,7 +24,7 @@ void testGetMovieTitle() { void testSetMovieTitle() { // arrange // act - String title = movie.setMovieTitle(); + String title = movie.setTitle(); // assert assertEquals("Creed 2", title); } From d0c7838ebacc6a660fb2697332e55141f8016e3d Mon Sep 17 00:00:00 2001 From: zionbuch Date: Tue, 5 Nov 2024 20:05:25 +0000 Subject: [PATCH 5/5] feat: made changes to Zions Movie Folder for lesson_16 --- .../lunch/InvalidCalorieException.java | 7 ++ .../codedifferently/lesson16/lunch/Lunch.java | 73 +++++++++++++++++++ .../codedifferently/lesson16/movie/Movie.java | 38 ++++++++-- .../lesson16/movie/MovieTest.java | 1 + 4 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/InvalidCalorieException.java create mode 100644 lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/Lunch.java diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/InvalidCalorieException.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/InvalidCalorieException.java new file mode 100644 index 000000000..6332ab883 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/InvalidCalorieException.java @@ -0,0 +1,7 @@ +package com.codedifferently.lesson16.lunch; + +public class InvalidCalorieException extends Exception { + public InvalidCalorieException(String message) { + super(message); + } +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/Lunch.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/Lunch.java new file mode 100644 index 000000000..bb3f69ca1 --- /dev/null +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/lunch/Lunch.java @@ -0,0 +1,73 @@ +package com.codedifferently.lesson16.lunch; + +import java.util.ArrayList; + +public class Lunch { + + public enum LunchType { + VEGETARIAN, + NON_VEGETARIAN, + VEGAN, + GLUTEN_FREE + } + + // Member variables + private final String mainDish; // String type + private final String sideDish; // String type + private final int calories; // Integer type + private final LunchType lunchType; // Enum type + private final ArrayList drinks; // Collection type (ArrayList) + + // Constructor + public Lunch(String mainDish, String sideDish, int calories, LunchType lunchType) + throws InvalidCalorieException { + if (calories <= 0) { + throw new InvalidCalorieException("Calories cannot be zero or negative."); + } + this.mainDish = mainDish; + this.sideDish = sideDish; + this.calories = calories; + this.lunchType = lunchType; + this.drinks = new ArrayList<>(); + } + + // Member function to add a drink + public void addDrink(String drink) { + drinks.add(drink); + } + + // Member function to get a healthy message based on calories + public String getHealthMessage() { + return (calories < 500) ? "This lunch is healthy!" : "This lunch is high in calories."; + } + + // Member function to display all drinks + public void displayDrinks() { + + System.out.println("Available drinks:"); + for (String drink : drinks) { + System.out.println("- " + drink); + } + } + + // Getters for member variables (optional) + public String getMainDish() { + return mainDish; + } + + public String getSideDish() { + return sideDish; + } + + public int getCalories() { + return calories; + } + + public LunchType getLunchType() { + return lunchType; + } + + public ArrayList getDrinks() { + return drinks; + } +} diff --git a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java index 8c372b785..f0b0afa76 100644 --- a/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java +++ b/lesson_16/objects/objects_app/src/main/java/com/codedifferently/lesson16/movie/Movie.java @@ -1,5 +1,7 @@ package com.codedifferently.lesson16.movie; +import java.util.ArrayList; + public class Movie { // member variables @@ -8,6 +10,7 @@ public class Movie { private double rating; private final Genres genres; private final MovieRating movieRating; + private ArrayList actors; // constructor public Movie( @@ -17,11 +20,12 @@ public Movie( this.rating = rating; this.movieRating = movieRating; this.genres = genres; + this.actors = new ArrayList(); } // getters and setters member functions - public String getTitle() { + public String getTitle() { return title; } @@ -53,11 +57,33 @@ public MovieRating getMovieRating() { return movieRating; } - //Conditional - if MovieRating =< 4 { - return "Title"; - } - + // Conditional + public String goodRating() { + if (rating >= 7.0) { + return "The movie is not good"; + } else { + return "The movie is satisfactory"; + } + } + + public void addActor(String actor) { + actors.add(actor); + } + + public String getActors() throws actorNotAvailableException { + if (actors.isEmpty()) { + throw new actorNotAvailableException("actors not available"); + } + String names = ""; + for (String actor : actors) { + names += actor + ","; + } + return names; + } +} +class actorNotAvailableException extends Exception { + public actorNotAvailableException(String message) { + super(message); } } diff --git a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java index 8d03c2f80..43439a331 100644 --- a/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java +++ b/lesson_16/objects/objects_app/src/test/java/com/codedifferently/lesson16/movie/MovieTest.java @@ -1,6 +1,7 @@ package com.codedifferently.lesson16.movie; import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;