test_class.declarator: portableLocation = new PortableLocation(
              987,
              BigDecimal.ONE,
              BigDecimal.TEN,
              "Some Location")
test_class.modifier: private final
test_class.original_string: private final PortableLocation portableLocation = new PortableLocation(
              987,
              BigDecimal.ONE,
              BigDecimal.TEN,
              "Some Location");
test_class.type: PortableLocation
test_class.var_name: portableLocation
test_class.declarator: json
test_class.modifier: private
test_class.original_string: private JacksonTester<PortableLocation> json;
test_class.type: JacksonTester<PortableLocation>
test_class.var_name: json
test_class.file: optaweb-vehicle-routing-backend/src/test/java/org/optaweb/vehiclerouting/plugin/websocket/PortableLocationTest.java
test_class.identifier: PortableLocationTest
test_case.body: @Test
      void fromLocation() {
          Location location = new Location(17, Coordinates.valueOf(5.1, -0.0007), "Hello, world!");
          PortableLocation portableLocation = PortableLocation.fromLocation(location);
          assertThat(portableLocation.getId()).isEqualTo(location.id());
          assertThat(portableLocation.getLatitude()).isEqualTo(location.coordinates().latitude());
          assertThat(portableLocation.getLongitude()).isEqualTo(location.coordinates().longitude());
          assertThat(portableLocation.getDescription()).isEqualTo(location.description());
  
          assertThatNullPointerException()
                  .isThrownBy(() -> PortableLocation.fromLocation(null))
                  .withMessageContaining("location");
      }
test_case.class_method_signature: PortableLocationTest.fromLocation()
test_case.full_signature: @Test void fromLocation()
test_case.identifier: fromLocation
test_case.invocations: valueOf fromLocation isEqualTo assertThat getId id isEqualTo assertThat getLatitude latitude coordinates isEqualTo assertThat getLongitude longitude coordinates isEqualTo assertThat getDescription description withMessageContaining isThrownBy assertThatNullPointerException fromLocation
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void fromLocation()
focal_class.declarator: id
focal_class.modifier: private final
focal_class.original_string: private final long id;
focal_class.type: long
focal_class.var_name: id
focal_class.declarator: latitude
focal_class.modifier: @JsonProperty(value = "lat", required = true)
      private final
focal_class.original_string: @JsonProperty(value = "lat", required = true)
      private final BigDecimal latitude;
focal_class.type: BigDecimal
focal_class.var_name: latitude
focal_class.declarator: longitude
focal_class.modifier: @JsonProperty(value = "lng", required = true)
      private final
focal_class.original_string: @JsonProperty(value = "lng", required = true)
      private final BigDecimal longitude;
focal_class.type: BigDecimal
focal_class.var_name: longitude
focal_class.declarator: description
focal_class.modifier: private final
focal_class.original_string: private final String description;
focal_class.type: String
focal_class.var_name: description
focal_class.file: optaweb-vehicle-routing-backend/src/main/java/org/optaweb/vehiclerouting/plugin/websocket/PortableLocation.java
focal_class.identifier: PortableLocation
focal_class.class_method_signature: PortableLocation.fromLocation(Location location)
focal_class.full_signature: static PortableLocation fromLocation(Location location)
focal_class.identifier: fromLocation
focal_class.modifiers: static
focal_class.parameters: (Location location)
focal_class.return: PortableLocation
focal_class.signature: PortableLocation fromLocation(Location location)
focal_class.class_method_signature: PortableLocation.PortableLocation(
              @JsonProperty(value = "id") long id,
              @JsonProperty(value = "lat") BigDecimal latitude,
              @JsonProperty(value = "lng") BigDecimal longitude,
              @JsonProperty(value = "description") String description)
focal_class.full_signature: @JsonCreator  PortableLocation(
              @JsonProperty(value = "id") long id,
              @JsonProperty(value = "lat") BigDecimal latitude,
              @JsonProperty(value = "lng") BigDecimal longitude,
              @JsonProperty(value = "description") String description)
focal_class.identifier: PortableLocation
focal_class.modifiers: @JsonCreator
focal_class.parameters: (
              @JsonProperty(value = "id") long id,
              @JsonProperty(value = "lat") BigDecimal latitude,
              @JsonProperty(value = "lng") BigDecimal longitude,
              @JsonProperty(value = "description") String description)
focal_class.signature:  PortableLocation(
              @JsonProperty(value = "id") long id,
              @JsonProperty(value = "lat") BigDecimal latitude,
              @JsonProperty(value = "lng") BigDecimal longitude,
              @JsonProperty(value = "description") String description)
focal_class.class_method_signature: PortableLocation.getId()
focal_class.full_signature: public long getId()
focal_class.identifier: getId
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getId()
focal_class.class_method_signature: PortableLocation.getLatitude()
focal_class.full_signature: public BigDecimal getLatitude()
focal_class.identifier: getLatitude
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: BigDecimal
focal_class.signature: BigDecimal getLatitude()
focal_class.class_method_signature: PortableLocation.getLongitude()
focal_class.full_signature: public BigDecimal getLongitude()
focal_class.identifier: getLongitude
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: BigDecimal
focal_class.signature: BigDecimal getLongitude()
focal_class.class_method_signature: PortableLocation.getDescription()
focal_class.full_signature: public String getDescription()
focal_class.identifier: getDescription
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getDescription()
focal_class.class_method_signature: PortableLocation.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: PortableLocation.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: PortableLocation.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: static PortableLocation fromLocation(Location location) {
          Objects.requireNonNull(location, "location must not be null");
          return new PortableLocation(
                  location.id(),
                  location.coordinates().latitude(),
                  location.coordinates().longitude(),
                  location.description());
      }
focal_method.class_method_signature: PortableLocation.fromLocation(Location location)
focal_method.full_signature: static PortableLocation fromLocation(Location location)
focal_method.identifier: fromLocation
focal_method.invocations: requireNonNull id latitude coordinates longitude coordinates description
focal_method.modifiers: static
focal_method.parameters: (Location location)
focal_method.return: PortableLocation
focal_method.signature: PortableLocation fromLocation(Location location)