org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature

## Class FeatureCrsParameterTransform

- java.lang.Object
- - org.opengis.cite.ogcapifeatures10.conformance.CommonFixture
  - - org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.AbstractFeatureCrs
    - - org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.FeatureCrsParameterTransform

-     public class FeatureCrsParameterTransform
      extends AbstractFeatureCrs

  Verifies header in the paths /collection/{collectionId}/items/{featureId}

       Abstract Test 7: /conf/crs/crs-parameter-transform
       Test Purpose: Verify that the geometries are transformed
       Requirement: /req/crs/crs-action

       Test Method
       For every CRS identifier advertized by the Web API that is known to the test engine and for which the test engine can
       convert geometries between the CRS and the default CRS of the Web API ("known CRS") execute the following test.
       Skip the test for unknown CRSs.
        1. For each spatial feature collection collectionId, send a request with the parameter crs
           to /collections/{collectionId}/items and /collections/{collectionId}/items/{featureId}
           (with a valid featureId for the collection) for every known CRS listed. In addition, send the same request,
           but without the crs parameter.
        2. Convert the response for the known CRS to the default CRS and verify that the responses match. Due to the use of
           different coordinate conversions in the test engine and by the API, there will not be an exact match and the test
           engine will have to allow for reasonable differences when assessing whether the geometries match.

  Author:
    Lyn Goltz

- - ### Field Summary

    - ### Fields inherited from class org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.AbstractFeatureCrs

      `collectionIdToCrs, collectionIdToDefaultCrs, collectionIdToFeatureId, collectionsResponses`

    - ### Fields inherited from class org.opengis.cite.ogcapifeatures10.conformance.CommonFixture

      `requestLoggingFilter, responseLoggingFilter, rootUri`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FeatureCrsParameterTransform()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterator<Object[]>` | `collectionFeatureIdCrsAndDefaultCrs(org.testng.ITestContext testContext)`
    `void` | `verifyFeatureCrsParameterTransformWithCrsParameter(String collectionId, io.restassured.path.json.JsonPath collection, String featureId)` Test: invalid CRS requesting /collections/{collectionId}/items
    `void` | `verifyFeatureCrsParameterTransformWithoutCrsParameter(String collectionId, io.restassured.path.json.JsonPath collection, String featureId, CoordinateSystem crs, CoordinateSystem defaultCRS)` Test: Content-Crs header in the path /collections/{collectionId}/items/{featureId}

    - ### Methods inherited from class org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.AbstractFeatureCrs

      `collectionFeatureId, retrieveRequiredInformationFromTestContext`

    - ### Methods inherited from class org.opengis.cite.ogcapifeatures10.conformance.CommonFixture

      `clearMessages, getRequest, getResponse, init, initCommonFixture`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FeatureCrsParameterTransform

          public FeatureCrsParameterTransform()

  - ### Method Detail

    - #### collectionFeatureIdCrsAndDefaultCrs

          public Iterator<Object[]> collectionFeatureIdCrsAndDefaultCrs(org.testng.ITestContext testContext)

    - #### verifyFeatureCrsParameterTransformWithCrsParameter

          public void verifyFeatureCrsParameterTransformWithCrsParameter(String collectionId,
                                                                         io.restassured.path.json.JsonPath collection,
                                                                         String featureId)
                                                                  throws org.locationtech.jts.io.ParseException

      Test: invalid CRS requesting /collections/{collectionId}/items
      Parameters:
        `collectionId` - id id of the collection, never `null`
        `collection` - the /collection object, never `null`
        `featureId` - id id of the feature, never `null`
      Throws:
        `org.locationtech.jts.io.ParseException` - if the geometry could not be parsed

    - #### verifyFeatureCrsParameterTransformWithoutCrsParameter

          public void verifyFeatureCrsParameterTransformWithoutCrsParameter(String collectionId,
                                                                            io.restassured.path.json.JsonPath collection,
                                                                            String featureId,
                                                                            CoordinateSystem crs,
                                                                            CoordinateSystem defaultCRS)
                                                                     throws org.locationtech.jts.io.ParseException

      Test: Content-Crs header in the path /collections/{collectionId}/items/{featureId}
      Parameters:
        `collectionId` - id id of the collection, never `null`
        `collection` - the /collection object, never `null`
        `featureId` - id id of the feature, never `null`
        `crs` - the crs to test, never `null`
        `defaultCRS` - the defaultCRS of the collection, never `null`
      Throws:
        `org.locationtech.jts.io.ParseException` - if the geometry could not be parsed

Copyright © 2023 Open Geospatial Consortium. All rights reserved.