test_class.declarator: distance = Distance.ofMillis(1)
test_class.modifier: private final
test_class.original_string: private final Distance distance = Distance.ofMillis(1);
test_class.type: Distance
test_class.var_name: distance
test_class.declarator: vehicle = VehicleFactory.testVehicle(1)
test_class.modifier: private final
test_class.original_string: private final Vehicle vehicle = VehicleFactory.testVehicle(1);
test_class.type: Vehicle
test_class.var_name: vehicle
test_class.declarator: vehicles = singletonList(vehicle)
test_class.modifier: private final
test_class.original_string: private final List<Vehicle> vehicles = singletonList(vehicle);
test_class.type: List<Vehicle>
test_class.var_name: vehicles
test_class.declarator: depot = new Location(1, Coordinates.valueOf(5, 5))
test_class.modifier: private final
test_class.original_string: private final Location depot = new Location(1, Coordinates.valueOf(5, 5));
test_class.type: Location
test_class.var_name: depot
test_class.declarator: visit = new Location(2, Coordinates.valueOf(3, 3))
test_class.modifier: private final
test_class.original_string: private final Location visit = new Location(2, Coordinates.valueOf(3, 3));
test_class.type: Location
test_class.var_name: visit
test_class.declarator: emptyRoute = new RouteWithTrack(new Route(vehicle, depot, emptyList()), emptyList())
test_class.modifier: private final
test_class.original_string: private final RouteWithTrack emptyRoute = new RouteWithTrack(new Route(vehicle, depot, emptyList()), emptyList());
test_class.type: RouteWithTrack
test_class.var_name: emptyRoute
test_class.declarator: nonEmptyTrack = singletonList(singletonList(Coordinates.valueOf(5, 5)))
test_class.modifier: private final
test_class.original_string: private final List<List<Coordinates>> nonEmptyTrack = singletonList(singletonList(Coordinates.valueOf(5, 5)));
test_class.type: List<List<Coordinates>>
test_class.var_name: nonEmptyTrack
test_class.file: optaweb-vehicle-routing-backend/src/test/java/org/optaweb/vehiclerouting/domain/RoutingPlanTest.java
test_class.identifier: RoutingPlanTest
test_case.body: @Test
      void isEmpty() {
          assertThat(RoutingPlan.empty().isEmpty()).isTrue();
          assertThat(new RoutingPlan(Distance.ZERO, emptyList(), depot, emptyList(), emptyList()).isEmpty()).isFalse();
          assertThat(new RoutingPlan(Distance.ZERO, vehicles, null, emptyList(), emptyList()).isEmpty()).isFalse();
          assertThat(new RoutingPlan(Distance.ZERO, vehicles, depot, emptyList(), singletonList(emptyRoute)).isEmpty())
                  .isFalse();
      }
test_case.class_method_signature: RoutingPlanTest.isEmpty()
test_case.full_signature: @Test void isEmpty()
test_case.identifier: isEmpty
test_case.invocations: isTrue assertThat isEmpty empty isFalse assertThat isEmpty emptyList emptyList emptyList isFalse assertThat isEmpty emptyList emptyList isFalse assertThat isEmpty emptyList singletonList
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void isEmpty()
focal_class.declarator: logger = LoggerFactory.getLogger(RoutingPlan.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(RoutingPlan.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: distance
focal_class.modifier: private final
focal_class.original_string: private final Distance distance;
focal_class.type: Distance
focal_class.var_name: distance
focal_class.declarator: vehicles
focal_class.modifier: private final
focal_class.original_string: private final List<Vehicle> vehicles;
focal_class.type: List<Vehicle>
focal_class.var_name: vehicles
focal_class.declarator: depot
focal_class.modifier: private final
focal_class.original_string: private final Location depot;
focal_class.type: Location
focal_class.var_name: depot
focal_class.declarator: visits
focal_class.modifier: private final
focal_class.original_string: private final List<Location> visits;
focal_class.type: List<Location>
focal_class.var_name: visits
focal_class.declarator: routes
focal_class.modifier: private final
focal_class.original_string: private final List<RouteWithTrack> routes;
focal_class.type: List<RouteWithTrack>
focal_class.var_name: routes
focal_class.file: optaweb-vehicle-routing-backend/src/main/java/org/optaweb/vehiclerouting/domain/RoutingPlan.java
focal_class.identifier: RoutingPlan
focal_class.class_method_signature: RoutingPlan.RoutingPlan(
              Distance distance,
              List<Vehicle> vehicles,
              Location depot,
              List<Location> visits,
              List<RouteWithTrack> routes)
focal_class.full_signature: public  RoutingPlan(
              Distance distance,
              List<Vehicle> vehicles,
              Location depot,
              List<Location> visits,
              List<RouteWithTrack> routes)
focal_class.identifier: RoutingPlan
focal_class.modifiers: public
focal_class.parameters: (
              Distance distance,
              List<Vehicle> vehicles,
              Location depot,
              List<Location> visits,
              List<RouteWithTrack> routes)
focal_class.signature:  RoutingPlan(
              Distance distance,
              List<Vehicle> vehicles,
              Location depot,
              List<Location> visits,
              List<RouteWithTrack> routes)
focal_class.class_method_signature: RoutingPlan.haveDifferentVehicles(List<Vehicle> vehicles, List<RouteWithTrack> routes)
focal_class.full_signature: private static boolean haveDifferentVehicles(List<Vehicle> vehicles, List<RouteWithTrack> routes)
focal_class.identifier: haveDifferentVehicles
focal_class.modifiers: private static
focal_class.parameters: (List<Vehicle> vehicles, List<RouteWithTrack> routes)
focal_class.return: boolean
focal_class.signature: boolean haveDifferentVehicles(List<Vehicle> vehicles, List<RouteWithTrack> routes)
focal_class.class_method_signature: RoutingPlan.describeVehiclesRoutesInconsistency(
              String cause,
              List<Vehicle> vehicles,
              List<? extends Route> routes)
focal_class.full_signature: private static String describeVehiclesRoutesInconsistency(
              String cause,
              List<Vehicle> vehicles,
              List<? extends Route> routes)
focal_class.identifier: describeVehiclesRoutesInconsistency
focal_class.modifiers: private static
focal_class.parameters: (
              String cause,
              List<Vehicle> vehicles,
              List<? extends Route> routes)
focal_class.return: String
focal_class.signature: String describeVehiclesRoutesInconsistency(
              String cause,
              List<Vehicle> vehicles,
              List<? extends Route> routes)
focal_class.class_method_signature: RoutingPlan.empty()
focal_class.full_signature: public static RoutingPlan empty()
focal_class.identifier: empty
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: RoutingPlan
focal_class.signature: RoutingPlan empty()
focal_class.class_method_signature: RoutingPlan.distance()
focal_class.full_signature: public Distance distance()
focal_class.identifier: distance
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Distance
focal_class.signature: Distance distance()
focal_class.class_method_signature: RoutingPlan.vehicles()
focal_class.full_signature: public List<Vehicle> vehicles()
focal_class.identifier: vehicles
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Vehicle>
focal_class.signature: List<Vehicle> vehicles()
focal_class.class_method_signature: RoutingPlan.routes()
focal_class.full_signature: public List<RouteWithTrack> routes()
focal_class.identifier: routes
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<RouteWithTrack>
focal_class.signature: List<RouteWithTrack> routes()
focal_class.class_method_signature: RoutingPlan.visits()
focal_class.full_signature: public List<Location> visits()
focal_class.identifier: visits
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Location>
focal_class.signature: List<Location> visits()
focal_class.class_method_signature: RoutingPlan.depot()
focal_class.full_signature: public Optional<Location> depot()
focal_class.identifier: depot
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<Location>
focal_class.signature: Optional<Location> depot()
focal_class.class_method_signature: RoutingPlan.isEmpty()
focal_class.full_signature: public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_method.body: public boolean isEmpty() {
          // No need to check routes. No depot => no routes.
          return depot == null && vehicles.isEmpty();
      }
focal_method.class_method_signature: RoutingPlan.isEmpty()
focal_method.full_signature: public boolean isEmpty()
focal_method.identifier: isEmpty
focal_method.invocations: isEmpty
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: boolean
focal_method.signature: boolean isEmpty()