test_class.declarator: vehicle = VehicleFactory.testVehicle(4)
test_class.modifier: private final
test_class.original_string: private final Vehicle vehicle = VehicleFactory.testVehicle(4);
test_class.type: Vehicle
test_class.var_name: vehicle
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: visit1 = new Location(2, Coordinates.valueOf(5, 5))
test_class.modifier: private final
test_class.original_string: private final Location visit1 = new Location(2, Coordinates.valueOf(5, 5));
test_class.type: Location
test_class.var_name: visit1
test_class.declarator: visit2 = new Location(3, Coordinates.valueOf(5, 5))
test_class.modifier: private final
test_class.original_string: private final Location visit2 = new Location(3, Coordinates.valueOf(5, 5));
test_class.type: Location
test_class.var_name: visit2
test_class.file: optaweb-vehicle-routing-backend/src/test/java/org/optaweb/vehiclerouting/domain/RouteTest.java
test_class.identifier: RouteTest
test_case.body: @Test
      void visits_should_not_contain_depot() {
          assertThatIllegalArgumentException()
                  .isThrownBy(() -> new Route(vehicle, depot, Arrays.asList(depot, visit1)))
                  .withMessageContaining(depot.toString());
          assertThatIllegalArgumentException()
                  .isThrownBy(() -> new Route(vehicle, depot, Arrays.asList(visit1, depot, visit2)))
                  .withMessageContaining(depot.toString());
      }
test_case.class_method_signature: RouteTest.visits_should_not_contain_depot()
test_case.full_signature: @Test void visits_should_not_contain_depot()
test_case.identifier: visits_should_not_contain_depot
test_case.invocations: withMessageContaining isThrownBy assertThatIllegalArgumentException asList toString withMessageContaining isThrownBy assertThatIllegalArgumentException asList toString
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void visits_should_not_contain_depot()
focal_class.declarator: vehicle
focal_class.modifier: private final
focal_class.original_string: private final Vehicle vehicle;
focal_class.type: Vehicle
focal_class.var_name: vehicle
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.file: optaweb-vehicle-routing-backend/src/main/java/org/optaweb/vehiclerouting/domain/Route.java
focal_class.identifier: Route
focal_class.class_method_signature: Route.Route(Vehicle vehicle, Location depot, List<Location> visits)
focal_class.full_signature: public  Route(Vehicle vehicle, Location depot, List<Location> visits)
focal_class.identifier: Route
focal_class.modifiers: public
focal_class.parameters: (Vehicle vehicle, Location depot, List<Location> visits)
focal_class.signature:  Route(Vehicle vehicle, Location depot, List<Location> visits)
focal_class.class_method_signature: Route.vehicle()
focal_class.full_signature: public Vehicle vehicle()
focal_class.identifier: vehicle
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Vehicle
focal_class.signature: Vehicle vehicle()
focal_class.class_method_signature: Route.depot()
focal_class.full_signature: public Location depot()
focal_class.identifier: depot
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Location
focal_class.signature: Location depot()
focal_class.class_method_signature: Route.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: Route.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @Override
      public String toString() {
          return "Route{" +
                  "vehicle=" + vehicle +
                  ", depot=" + depot.id() +
                  ", visits=" + visits.stream().map(Location::id).collect(toList()) +
                  '}';
      }
focal_method.class_method_signature: Route.toString()
focal_method.full_signature: @Override public String toString()
focal_method.identifier: toString
focal_method.invocations: id collect map stream toList
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: String
focal_method.signature: String toString()