| scheduleLaneEvents() |   | 21% |   | 26% | 23 | 26 | 53 | 69 | 0 | 1 |
| timeAtLine(PolyLine2d, RelativePosition) |  | 0% |  | 0% | 13 | 13 | 32 | 32 | 1 | 1 |
| getTimeOfLateralCrossing(Duration, Duration, boolean) |  | 0% |  | 0% | 9 | 9 | 33 | 33 | 1 | 1 |
| destroy() |  | 0% |  | 0% | 6 | 6 | 21 | 21 | 1 | 1 |
| getNextLanesForRoute(Lane) |  | 0% |  | 0% | 9 | 9 | 25 | 25 | 1 | 1 |
| enterLane(Lane, double) |   | 27% |   | 16% | 3 | 4 | 14 | 21 | 0 | 1 |
| findDetectorTriggersInEpisode(Length, LanePosition, LanePosition, boolean) |   | 51% |   | 50% | 8 | 10 | 14 | 35 | 0 | 1 |
| changeLaneInstantaneously(LateralDirectionality) |  | 0% | | n/a | 1 | 1 | 13 | 13 | 1 | 1 |
| getNextLaneForRoute(Lane) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| exitLane() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| findDetectorTriggers(boolean) |   | 57% |   | 58% | 4 | 7 | 7 | 23 | 0 | 1 |
| move(DirectedPoint2d) |   | 74% |   | 50% | 5 | 6 | 14 | 31 | 0 | 1 |
| getRoamingPosition() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| stop() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getProjectedLength(Lane) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getPosition(RelativePosition) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getRoamingPosition(Point2d) |   | 91% |   | 72% | 5 | 12 | 0 | 29 | 0 | 1 |
| getLane(Duration) |   | 45% |   | 25% | 2 | 3 | 1 | 2 | 0 | 1 |
| init(LaneBasedStrategicalPlanner, DirectedPoint2d, Speed) |   | 88% |   | 50% | 2 | 3 | 1 | 15 | 0 | 1 |
| getDesiredSpeed() |   | 81% |   | 83% | 1 | 4 | 2 | 12 | 0 | 1 |
| getPosition(Lane) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isBrakingLightsOn(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| cancelAllEvents() |   | 75% |   | 50% | 1 | 2 | 2 | 10 | 0 | 1 |
| getPositionOrRoaming() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getDeviation(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| triggerDetector(LaneDetector) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isRoaming(Duration) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$getNextLanesForRoute$15(Lane) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isRoaming() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getPosition(Lane, Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDeviation() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isBrakingLightsOn() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$4(CrossSectionLink) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setParent(Gtu) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getTurnIndicatorStatus(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTacticalPlanner(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLaneChangeDirection(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getNextLaneForRoute$14(Lane, Set) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$findDetectorTriggers$13(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$cancelAllEvents$3(SimEventInterface) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$cancelAllEvents$2(SimEventInterface) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| laneChangeAllowed() |   | 54% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getStrategicalPlanner(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$findDetectorTriggers$12(Length) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$11(Lane) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$9(Length) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$8(Duration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$6(Lane, double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPosition(Lane, RelativePosition, Duration) |   | 93% |   | 50% | 2 | 3 | 0 | 8 | 0 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getFullId() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$10() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$7() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$scheduleLaneEvents$5() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDeviation(Lane, Point2d) |  | 97% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 |
| getHeight() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| LaneBasedGtu(String, GtuType, Length, Length, Speed, Length, RoadNetwork) |  | 100% | | n/a | 0 | 1 | 0 | 16 | 0 | 1 |
| getCarFollowingAcceleration() |  | 100% |  | 100% | 0 | 3 | 0 | 16 | 0 | 1 |
| laneLateralOvershoot(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| endRoaming(LanePosition) |  | 100% |   | 50% | 1 | 2 | 0 | 4 | 0 | 1 |
| getPosition() |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| getPosition(RelativePosition, Duration) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$getCarFollowingAcceleration$17(Speed, SpeedLimitInfo, PerceptionCollectable) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPosition(Lane, RelativePosition) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getDesiredSpeed$16(SpeedLimitInfo) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getPosition$1(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPosition(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$enterLane$0(Lane, double) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLane() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTurnIndicatorStatus() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setTurnIndicatorStatus(TurnIndicatorStatus) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setLaneChangeDirection(LateralDirectionality) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getLaneChangeDirection() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLongitudinalPosition() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setVehicleModel(VehicleModel) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getStrategicalPlanner() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNetwork() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setBookkeeping(LaneBookkeeping) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getTacticalPlanner() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setNoLaneChangeDistance(Length) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getVehicleModel() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBookkeeping() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |