8000 interfaces-to-funs.4 : Introduce destinationFinder · test-driven-development/code@001e743 · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit 001e743

Browse files
Duncan McGregordmcg
authored andcommitted
interfaces-to-funs.4 : Introduce destinationFinder
1 parent 742aea1 commit 001e743

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/java/travelator/recommendations/Recommendations.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package travelator.recommendations
22

3< 8000 code class="diff-text syntax-highlighted-line addition">+
import travelator.destinations.FeaturedDestination
34
import travelator.destinations.FeaturedDestinations
45
import travelator.domain.DistanceCalculator
56
import travelator.domain.Location
@@ -8,6 +9,10 @@ class Recommendations(
89
private val featuredDestinations: FeaturedDestinations,
910
private val distanceCalculator: DistanceCalculator
1011
) {
12+
private val destinationFinder: // <1>
13+
(Location) -> List<FeaturedDestination> =
14+
featuredDestinations::findCloseTo
15+
1116
fun recommendationsFor(
1217
journey: Set<Location>
1318
): List<FeaturedDestinationSuggestion> =
@@ -19,7 +24,7 @@ class Recommendations(
1924
fun recommendationsFor(
2025
location: Location
2126
): List<FeaturedDestinationSuggestion> =
22-
featuredDestinations.findCloseTo(location)
27+
destinationFinder(location) // <2>
2328
.map { featuredDestination ->
2429
FeaturedDestinationSuggestion(
2530
location,
@@ -32,6 +37,7 @@ class Recommendations(
3237
}
3338
}
3439

40+
3541
private fun List<FeaturedDestinationSuggestion>.deduplicated() =
3642
groupBy { it.suggestion }
3743
.values

0 commit comments

Comments
 (0)
0