Skip to content

Commit 238e992

Browse files
committed
ch01: volumeCreditsFor 로직 PerformanceCalculator로 이동
1 parent 84748cb commit 238e992

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/main/kotlin/chapter01/CreateStatementData.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ class PerformanceCalculator {
5151

5252
return result
5353
}
54+
val volumeCredits: Int
55+
get() {
56+
var result = maxOf(this.aPerformance.audience - 30, 0)
57+
if (this.play?.type == "comedy") result += this.aPerformance.audience / 5
58+
return result
59+
}
5460

5561
constructor(aPerformance: Performance, aPlay: Play) {
5662
this.aPerformance = aPerformance
@@ -63,14 +69,8 @@ internal fun createStatementData(plays: Plays, invoice: Invoice): StatementData
6369
return plays[aPerformance.playID]!!
6470
}
6571

66-
fun amountFor(aPerformance: Performance): Int {
67-
return PerformanceCalculator(aPerformance, playFor(aPerformance)).amount
68-
}
69-
70-
fun volumeCreditsFor(aPerformance: EnrichedPerformance): Int {
71-
var result = maxOf(aPerformance.audience - 30, 0)
72-
if (aPerformance.play?.type == "comedy") result += aPerformance.audience / 5
73-
return result
72+
fun volumeCreditsFor(aPerformance: Performance): Int {
73+
return PerformanceCalculator(aPerformance, playFor(aPerformance)).volumeCredits
7474
}
7575

7676
fun totalVolumeCredits(data: StatementData): Int {
@@ -85,8 +85,8 @@ internal fun createStatementData(plays: Plays, invoice: Invoice): StatementData
8585
val calculator = PerformanceCalculator(aPerformance, playFor(aPerformance))
8686
val result = EnrichedPerformance(aPerformance)
8787
result.play = calculator.play
88-
result.amount = amountFor(aPerformance)
89-
result.volumeCredits = volumeCreditsFor(result)
88+
result.amount = calculator.amount
89+
result.volumeCredits = volumeCreditsFor(aPerformance)
9090
return result
9191
}
9292

0 commit comments

Comments
 (0)