From 7aa5f3c41038642b0448375ba7216af2d55c54d1 Mon Sep 17 00:00:00 2001 From: Leonard Ehrenfried Date: Thu, 12 Oct 2023 21:49:16 +0200 Subject: [PATCH] Assert that all fare products are greater than 0 --- .../org/opentripplanner/smoketest/SmokeTest.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/opentripplanner/smoketest/SmokeTest.java b/src/test/java/org/opentripplanner/smoketest/SmokeTest.java index d7dbd924d28..1de1c3b6843 100644 --- a/src/test/java/org/opentripplanner/smoketest/SmokeTest.java +++ b/src/test/java/org/opentripplanner/smoketest/SmokeTest.java @@ -11,6 +11,7 @@ import java.time.temporal.TemporalAdjusters; import java.util.List; import org.opentripplanner.client.OtpApiClient; +import org.opentripplanner.client.model.FareProductUse; import org.opentripplanner.client.model.Itinerary; import org.opentripplanner.client.model.TripPlan; import org.opentripplanner.client.model.VehicleRentalStation; @@ -115,7 +116,11 @@ static void assertThereArePatternsWithVehiclePositions() { } static void assertThatAllTransitLegsHaveFareProducts(TripPlan plan) { - var transitLegs = plan.transitItineraries().stream().flatMap(i -> i.transitLegs().stream()); + var transitLegs = plan + .transitItineraries() + .stream() + .flatMap(i -> i.transitLegs().stream()) + .toList(); transitLegs.forEach(leg -> { assertFalse(leg.fareProducts().isEmpty(), "Leg %s should have fare products".formatted(leg)); @@ -127,5 +132,13 @@ static void assertThatAllTransitLegsHaveFareProducts(TripPlan plan) { leg.fareProducts().size() ); }); + + var fareProducts = transitLegs + .stream() + .flatMap(l -> l.fareProducts().stream().map(FareProductUse::product)); + assertTrue( + fareProducts.anyMatch(fp -> fp.price().amount().floatValue() > 0), + "There were no fare product with a price higher than 0." + ); } }