diff --git a/src/main/java/video/domain/Movie.java b/src/main/java/video/domain/Movie.java deleted file mode 100644 index 0e12096..0000000 --- a/src/main/java/video/domain/Movie.java +++ /dev/null @@ -1,33 +0,0 @@ -package video.domain; - -public class Movie { - - private String title; - PriceType priceType; - - - public Movie(String title, PriceType priceType) { - this.title = title; - this.priceType = priceType; - } - - public PriceType getPriceType() { - return priceType; - } - - public void setPriceType(PriceType priceType) { - this.priceType = priceType; - } - - public String getTitle() { - return title; - } - - public int amount(int daysRented) { - return priceType.amount(daysRented); - } - - public int frequentRenterPoints(int daysRented) { - return priceType.frequentRenterPoints(daysRented); - } -} \ No newline at end of file diff --git a/src/main/java/video/domain/movie/Movie.java b/src/main/java/video/domain/movie/Movie.java new file mode 100644 index 0000000..187b75c --- /dev/null +++ b/src/main/java/video/domain/movie/Movie.java @@ -0,0 +1,25 @@ +package video.domain.movie; + +public class Movie { + + private String title; + MovieType movieType; + + + public Movie(String title, MovieType movieType) { + this.title = title; + this.movieType = movieType; + } + + public String getTitle() { + return title; + } + + public int amount(int daysRented) { + return movieType.amount(daysRented); + } + + public int frequentRenterPoints(int daysRented) { + return movieType.frequentRenterPoints(daysRented); + } +} \ No newline at end of file diff --git a/src/main/java/video/domain/PriceType.java b/src/main/java/video/domain/movie/MovieType.java similarity index 89% rename from src/main/java/video/domain/PriceType.java rename to src/main/java/video/domain/movie/MovieType.java index 038725b..8053ca7 100644 --- a/src/main/java/video/domain/PriceType.java +++ b/src/main/java/video/domain/movie/MovieType.java @@ -1,4 +1,4 @@ -package video.domain; +package video.domain.movie; import video.domain.point.ChildrenPoint; import video.domain.point.NewReleasePoint; @@ -9,7 +9,7 @@ import video.domain.price.Price; import video.domain.price.RegularPrice; -public enum PriceType { +public enum MovieType { CHILDREN(new ChildrenPrice(), new ChildrenPoint()), REGULAR(new RegularPrice(), new RegularPoint()), NEW_RELEASE(new NewReleasePrice(), new NewReleasePoint()); @@ -17,7 +17,7 @@ public enum PriceType { Price price; Point point; - PriceType(Price price, Point point) { + MovieType(Price price, Point point) { this.price = price; this.point = point; } diff --git a/src/main/java/video/domain/rental/Rental.java b/src/main/java/video/domain/rental/Rental.java index 87a0e17..53fa2ea 100644 --- a/src/main/java/video/domain/rental/Rental.java +++ b/src/main/java/video/domain/rental/Rental.java @@ -1,6 +1,6 @@ package video.domain.rental; -import video.domain.Movie; +import video.domain.movie.Movie; public class Rental { diff --git a/src/main/java/video/infrastructure/datasource/data/RentalItem.java b/src/main/java/video/infrastructure/datasource/data/RentalItem.java index 434dd93..c68b095 100644 --- a/src/main/java/video/infrastructure/datasource/data/RentalItem.java +++ b/src/main/java/video/infrastructure/datasource/data/RentalItem.java @@ -1,6 +1,6 @@ package video.infrastructure.datasource.data; -import video.domain.Movie; +import video.domain.movie.Movie; public record RentalItem(Movie movie, int days) { } diff --git a/src/test/java/video/domain/CustomerTest.java b/src/test/java/video/domain/CustomerTest.java index 823e3e4..21634d0 100644 --- a/src/test/java/video/domain/CustomerTest.java +++ b/src/test/java/video/domain/CustomerTest.java @@ -1,6 +1,8 @@ package video.domain; import org.junit.jupiter.api.Test; +import video.domain.movie.Movie; +import video.domain.movie.MovieType; import video.domain.rental.Rental; import static org.junit.jupiter.api.Assertions.assertAll; @@ -8,9 +10,9 @@ class CustomerTest { - Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", PriceType.CHILDREN); - Movie 旧作_トップガン = new Movie("トップガン", PriceType.REGULAR); - Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", PriceType.NEW_RELEASE); + Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", MovieType.CHILDREN); + Movie 旧作_トップガン = new Movie("トップガン", MovieType.REGULAR); + Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", MovieType.NEW_RELEASE); @Test void 新作と旧作と子供用作品のレンタル() { diff --git a/src/test/java/video/domain/price/ChildrenPriceTest.java b/src/test/java/video/domain/price/ChildrenPriceTest.java index 717f757..f0b8c88 100644 --- a/src/test/java/video/domain/price/ChildrenPriceTest.java +++ b/src/test/java/video/domain/price/ChildrenPriceTest.java @@ -1,15 +1,15 @@ package video.domain.price; import org.junit.jupiter.api.Test; -import video.domain.Movie; -import video.domain.PriceType; +import video.domain.movie.Movie; +import video.domain.movie.MovieType; import video.domain.rental.Rental; import static org.junit.jupiter.api.Assertions.assertEquals; class ChildrenPriceTest { - Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", PriceType.CHILDREN); + Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", MovieType.CHILDREN); @Test void 子供用作品を4日のレンタル料金() { Rental sut = new Rental(子供用作品_となりのトトロ, 4); diff --git a/src/test/java/video/domain/price/NewReleasePriceTest.java b/src/test/java/video/domain/price/NewReleasePriceTest.java index b37bd46..4bee825 100644 --- a/src/test/java/video/domain/price/NewReleasePriceTest.java +++ b/src/test/java/video/domain/price/NewReleasePriceTest.java @@ -1,15 +1,15 @@ package video.domain.price; import org.junit.jupiter.api.Test; -import video.domain.Movie; -import video.domain.PriceType; +import video.domain.movie.Movie; +import video.domain.movie.MovieType; import video.domain.rental.Rental; import static org.junit.jupiter.api.Assertions.assertEquals; class NewReleasePriceTest { - Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", PriceType.NEW_RELEASE); + Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", MovieType.NEW_RELEASE); @Test void 新作を4日のレンタル料金() { diff --git a/src/test/java/video/domain/price/RegularPriceTest.java b/src/test/java/video/domain/price/RegularPriceTest.java index 4ddcb77..19c1f9f 100644 --- a/src/test/java/video/domain/price/RegularPriceTest.java +++ b/src/test/java/video/domain/price/RegularPriceTest.java @@ -1,15 +1,15 @@ package video.domain.price; import org.junit.jupiter.api.Test; -import video.domain.Movie; -import video.domain.PriceType; +import video.domain.movie.Movie; +import video.domain.movie.MovieType; import video.domain.rental.Rental; import static org.junit.jupiter.api.Assertions.assertEquals; class RegularPriceTest { - Movie 旧作_トップガン = new Movie("トップガン", PriceType.REGULAR); + Movie 旧作_トップガン = new Movie("トップガン", MovieType.REGULAR); @Test void 旧作を2日のレンタル料金() { diff --git a/src/test/java/video/domain/rental/RentalTest.java b/src/test/java/video/domain/rental/RentalTest.java index 4fed6f1..f7d8d77 100644 --- a/src/test/java/video/domain/rental/RentalTest.java +++ b/src/test/java/video/domain/rental/RentalTest.java @@ -2,16 +2,16 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import video.domain.Movie; -import video.domain.PriceType; +import video.domain.movie.Movie; +import video.domain.movie.MovieType; import static org.junit.jupiter.api.Assertions.assertEquals; class RentalTest { - Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", PriceType.CHILDREN); - Movie 旧作_トップガン = new Movie("トップガン", PriceType.REGULAR); - Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", PriceType.NEW_RELEASE); + Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", MovieType.CHILDREN); + Movie 旧作_トップガン = new Movie("トップガン", MovieType.REGULAR); + Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", MovieType.NEW_RELEASE); @Nested class レンタル料金テスト { diff --git a/src/test/java/video/domain/rental/RentalsTest.java b/src/test/java/video/domain/rental/RentalsTest.java index 7ab3236..ddb8acd 100644 --- a/src/test/java/video/domain/rental/RentalsTest.java +++ b/src/test/java/video/domain/rental/RentalsTest.java @@ -1,15 +1,15 @@ package video.domain.rental; import org.junit.jupiter.api.Test; -import video.domain.Movie; -import video.domain.PriceType; +import video.domain.movie.Movie; +import video.domain.movie.MovieType; import static org.junit.jupiter.api.Assertions.assertEquals; class RentalsTest { - Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", PriceType.CHILDREN); - Movie 旧作_トップガン = new Movie("トップガン", PriceType.REGULAR); - Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", PriceType.NEW_RELEASE); + Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", MovieType.CHILDREN); + Movie 旧作_トップガン = new Movie("トップガン", MovieType.REGULAR); + Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", MovieType.NEW_RELEASE); @Test void 合計金額の算出() {