From 45b172a6e723bddd35f1982c2654bdc1e31edad3 Mon Sep 17 00:00:00 2001 From: stgctkm Date: Tue, 22 Aug 2023 17:05:38 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=99=E9=87=91=E3=83=A1=E3=82=BD?= =?UTF-8?q?=E3=83=83=E3=83=89=E3=82=92=E6=8A=BD=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/video/domain/rental/Rental.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/video/domain/rental/Rental.java b/src/main/java/video/domain/rental/Rental.java index 72c1e53..a23c53c 100644 --- a/src/main/java/video/domain/rental/Rental.java +++ b/src/main/java/video/domain/rental/Rental.java @@ -29,6 +29,10 @@ public Movie getMovie() { public int amount() { // 金額を計算 int daysRented = getDaysRented(); + return amount(daysRented); + } + + private int amount(int daysRented) { switch (getMovie().getPriceType()) { case REGULAR: return regularPrice.amount(daysRented); From 08e27af87815ade84c55b6fb31c123d51117f9bf Mon Sep 17 00:00:00 2001 From: stgctkm Date: Tue, 22 Aug 2023 17:06:31 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E6=96=99=E9=87=91=E3=83=A1=E3=82=BD?= =?UTF-8?q?=E3=83=83=E3=83=89=E3=81=AEgetMovie()=20=E3=82=92=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E3=83=95=E3=82=A3=E3=83=BC=E3=83=AB=E3=83=89=E3=81=AE?= =?UTF-8?q?movie=E3=82=92=E4=BD=BF=E3=81=86=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/video/domain/rental/Rental.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/video/domain/rental/Rental.java b/src/main/java/video/domain/rental/Rental.java index a23c53c..63013ee 100644 --- a/src/main/java/video/domain/rental/Rental.java +++ b/src/main/java/video/domain/rental/Rental.java @@ -33,7 +33,7 @@ public int amount() { } private int amount(int daysRented) { - switch (getMovie().getPriceType()) { + switch (movie.getPriceType()) { case REGULAR: return regularPrice.amount(daysRented); case NEW_RELEASE: From d8dd0f127a301cc4267d30705a7f62790e1cb6d6 Mon Sep 17 00:00:00 2001 From: stgctkm Date: Tue, 22 Aug 2023 17:24:15 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8C=BA=E5=88=86=E3=81=94=E3=81=A8?= =?UTF-8?q?=E3=81=AE=E6=96=99=E9=87=91=E8=A8=88=E7=AE=97=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=AF=E3=83=A9=E3=82=B9=E3=82=92=E4=BD=9C=E6=88=90?= =?UTF-8?q?=20RentalTest=E3=81=8B=E3=82=89=E6=9D=A1=E4=BB=B6=E5=88=86?= =?UTF-8?q?=E5=B2=90=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=E3=82=92=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/domain/price/ChildrenPriceTest.java | 30 ++++++++++++++++++ .../domain/price/NewReleasePriceTest.java | 22 +++++++++++++ .../video/domain/price/RegularPriceTest.java | 31 +++++++++++++++++++ .../java/video/domain/rental/RentalTest.java | 18 ----------- 4 files changed, 83 insertions(+), 18 deletions(-) create mode 100644 src/test/java/video/domain/price/ChildrenPriceTest.java create mode 100644 src/test/java/video/domain/price/NewReleasePriceTest.java create mode 100644 src/test/java/video/domain/price/RegularPriceTest.java diff --git a/src/test/java/video/domain/price/ChildrenPriceTest.java b/src/test/java/video/domain/price/ChildrenPriceTest.java new file mode 100644 index 0000000..717f757 --- /dev/null +++ b/src/test/java/video/domain/price/ChildrenPriceTest.java @@ -0,0 +1,30 @@ +package video.domain.price; + +import org.junit.jupiter.api.Test; +import video.domain.Movie; +import video.domain.PriceType; +import video.domain.rental.Rental; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ChildrenPriceTest { + + Movie 子供用作品_となりのトトロ = new Movie("となりのトトロ", PriceType.CHILDREN); + @Test + void 子供用作品を4日のレンタル料金() { + Rental sut = new Rental(子供用作品_となりのトトロ, 4); + + double result = sut.amount(); + + assertEquals(300, result); + } + + @Test + void 子供用作品を3日のレンタル料金() { + Rental sut = new Rental(子供用作品_となりのトトロ, 3); + + double result = sut.amount(); + + assertEquals(150, result); + } +} \ No newline at end of file diff --git a/src/test/java/video/domain/price/NewReleasePriceTest.java b/src/test/java/video/domain/price/NewReleasePriceTest.java new file mode 100644 index 0000000..b37bd46 --- /dev/null +++ b/src/test/java/video/domain/price/NewReleasePriceTest.java @@ -0,0 +1,22 @@ +package video.domain.price; + +import org.junit.jupiter.api.Test; +import video.domain.Movie; +import video.domain.PriceType; +import video.domain.rental.Rental; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class NewReleasePriceTest { + + Movie 新作_君たちはどう生きるか = new Movie("君たちはどう生きるか", PriceType.NEW_RELEASE); + + @Test + void 新作を4日のレンタル料金() { + Rental sut = new Rental(新作_君たちはどう生きるか, 4); + + double result = sut.amount(); + + assertEquals(1200, result); + } +} \ No newline at end of file diff --git a/src/test/java/video/domain/price/RegularPriceTest.java b/src/test/java/video/domain/price/RegularPriceTest.java new file mode 100644 index 0000000..4ddcb77 --- /dev/null +++ b/src/test/java/video/domain/price/RegularPriceTest.java @@ -0,0 +1,31 @@ +package video.domain.price; + +import org.junit.jupiter.api.Test; +import video.domain.Movie; +import video.domain.PriceType; +import video.domain.rental.Rental; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class RegularPriceTest { + + Movie 旧作_トップガン = new Movie("トップガン", PriceType.REGULAR); + + @Test + void 旧作を2日のレンタル料金() { + Rental sut = new Rental(旧作_トップガン, 2); + + double result = sut.amount(); + + assertEquals(200, result); + } + + @Test + void 旧作を3日のレンタル料金() { + Rental sut = new Rental(旧作_トップガン, 3); + + double result = sut.amount(); + + assertEquals(350, result); + } +} \ No newline at end of file diff --git a/src/test/java/video/domain/rental/RentalTest.java b/src/test/java/video/domain/rental/RentalTest.java index 11bc539..a13a496 100644 --- a/src/test/java/video/domain/rental/RentalTest.java +++ b/src/test/java/video/domain/rental/RentalTest.java @@ -24,7 +24,6 @@ class レンタル料金テスト { assertEquals(1200, result); } - @Test void 旧作を2日のレンタル料金() { Rental sut = new Rental(旧作_トップガン, 2); @@ -34,15 +33,6 @@ class レンタル料金テスト { assertEquals(200, result); } - @Test - void 旧作を3日のレンタル料金() { - Rental sut = new Rental(旧作_トップガン, 3); - - double result = sut.amount(); - - assertEquals(350, result); - } - @Test void 子供用作品を4日のレンタル料金() { Rental sut = new Rental(子供用作品_となりのトトロ, 4); @@ -52,14 +42,6 @@ class レンタル料金テスト { assertEquals(300, result); } - @Test - void 子供用作品を3日のレンタル料金() { - Rental sut = new Rental(子供用作品_となりのトトロ, 3); - - double result = sut.amount(); - - assertEquals(150, result); - } } @Nested