diff --git a/.DS_Store b/.DS_Store index c661d30..b47ebc0 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/src/.DS_Store b/src/.DS_Store index 6dee77a..796557f 100644 Binary files a/src/.DS_Store and b/src/.DS_Store differ diff --git a/src/main/.DS_Store b/src/main/.DS_Store new file mode 100644 index 0000000..7eca18c Binary files /dev/null and b/src/main/.DS_Store differ diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store new file mode 100644 index 0000000..c73c0b3 Binary files /dev/null and b/src/main/java/.DS_Store differ diff --git a/src/main/java/movierental/MoviePriceCalculation/ChildrenMoviePriceCalculation.java b/src/main/java/movierental/MoviePriceCalculation/ChildrenMoviePriceCalculation.java new file mode 100644 index 0000000..9d9ea4c --- /dev/null +++ b/src/main/java/movierental/MoviePriceCalculation/ChildrenMoviePriceCalculation.java @@ -0,0 +1,12 @@ +package movierental.MoviePriceCalculation; + +public class ChildrenMoviePriceCalculation implements MoviePriceCalculationStrategy { + @Override + public double calculatePrice(int daysRented) { + double thisAmount = 1.5; + if (daysRented > 3) { + thisAmount += (daysRented - 3) * 1.5; + } + return thisAmount; + } +} diff --git a/src/main/java/movierental/MoviePriceCalculation/MoviePriceCalculationStrategy.java b/src/main/java/movierental/MoviePriceCalculation/MoviePriceCalculationStrategy.java new file mode 100644 index 0000000..729b221 --- /dev/null +++ b/src/main/java/movierental/MoviePriceCalculation/MoviePriceCalculationStrategy.java @@ -0,0 +1,5 @@ +package movierental.MoviePriceCalculation; + +public interface MoviePriceCalculationStrategy { + double calculatePrice(int daysRented); +} diff --git a/src/main/java/movierental/MoviePriceCalculation/NewReleaseMoviePriceCalculation.java b/src/main/java/movierental/MoviePriceCalculation/NewReleaseMoviePriceCalculation.java new file mode 100644 index 0000000..30a681f --- /dev/null +++ b/src/main/java/movierental/MoviePriceCalculation/NewReleaseMoviePriceCalculation.java @@ -0,0 +1,8 @@ +package movierental.MoviePriceCalculation; + +public class NewReleaseMoviePriceCalculation implements MoviePriceCalculationStrategy { + @Override + public double calculatePrice(int daysRented) { + return daysRented * 3; + } +} diff --git a/src/main/java/movierental/MoviePriceCalculation/RegularMoviePriceCalculation.java b/src/main/java/movierental/MoviePriceCalculation/RegularMoviePriceCalculation.java new file mode 100644 index 0000000..b108c71 --- /dev/null +++ b/src/main/java/movierental/MoviePriceCalculation/RegularMoviePriceCalculation.java @@ -0,0 +1,12 @@ +package movierental.MoviePriceCalculation; + +public class RegularMoviePriceCalculation implements MoviePriceCalculationStrategy { + @Override + public double calculatePrice(int daysRented) { + double thisAmount = 2; + if (daysRented > 2) { + thisAmount += (daysRented - 2) * 1.5; + } + return thisAmount; + } +} diff --git a/src/test/.DS_Store b/src/test/.DS_Store new file mode 100644 index 0000000..ba9cbd7 Binary files /dev/null and b/src/test/.DS_Store differ diff --git a/src/test/java/.DS_Store b/src/test/java/.DS_Store new file mode 100644 index 0000000..7b03f0d Binary files /dev/null and b/src/test/java/.DS_Store differ