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/RouteWithTrackTest.java
test_class.identifier: RouteWithTrackTest
test_case.body: @Test
      void cannot_modify_track_externally() {
          Route route = new Route(vehicle, depot, Arrays.asList(visit1, visit2));
          ArrayList<List<Coordinates>> track = new ArrayList<>();
          track.add(Arrays.asList(Coordinates.valueOf(1.0, 2.0)));
  
          List<List<Coordinates>> routeTrack = new RouteWithTrack(route, track).track();
          assertThatExceptionOfType(UnsupportedOperationException.class)
                  .isThrownBy(routeTrack::clear);
      }
test_case.class_method_signature: RouteWithTrackTest.cannot_modify_track_externally()
test_case.full_signature: @Test void cannot_modify_track_externally()
test_case.identifier: cannot_modify_track_externally
test_case.invocations: asList add asList valueOf track isThrownBy assertThatExceptionOfType
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void cannot_modify_track_externally()
focal_class.declarator: track
focal_class.modifier: private final
focal_class.original_string: private final List<List<Coordinates>> track;
focal_class.type: List<List<Coordinates>>
focal_class.var_name: track
focal_class.file: optaweb-vehicle-routing-backend/src/main/java/org/optaweb/vehiclerouting/domain/RouteWithTrack.java
focal_class.identifier: RouteWithTrack
focal_class.class_method_signature: RouteWithTrack.RouteWithTrack(Route route, List<List<Coordinates>> track)
focal_class.full_signature: public  RouteWithTrack(Route route, List<List<Coordinates>> track)
focal_class.identifier: RouteWithTrack
focal_class.modifiers: public
focal_class.parameters: (Route route, List<List<Coordinates>> track)
focal_class.signature:  RouteWithTrack(Route route, List<List<Coordinates>> track)
focal_class.class_method_signature: RouteWithTrack.track()
focal_class.full_signature: public List<List<Coordinates>> track()
focal_class.identifier: track
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<List<Coordinates>>
focal_class.signature: List<List<Coordinates>> track()
focal_class.superclass: extends Route
focal_method.body: public List<List<Coordinates>> track() {
          return Collections.unmodifiableList(track);
      }
focal_method.class_method_signature: RouteWithTrack.track()
focal_method.full_signature: public List<List<Coordinates>> track()
focal_method.identifier: track
focal_method.invocations: unmodifiableList
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: List<List<Coordinates>>
focal_method.signature: List<List<Coordinates>> track()