Commit 76d659b4 authored by Michael Proestler's avatar Michael Proestler
Browse files

Add TC_ECRF_LOST_BV_06, Add TC_ECRF_LOST_BV_07

Refactor PIXITS
parent 70f887a7
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -25,4 +25,40 @@ module AtsECRF_Pixits {
  
  modulepar XSD.AnyURI PX_E_UNKNOWN_SERVICE_URN := "urn:service:sos.unknown";
  
  // Polygon (Lat/Lon)
  modulepar DoubleList PX_G1 := { 
                                    43.69816193608326, 6.912803649902344, 
                                    43.54406887505369, 6.912117004394531,
                                    43.54456658436357, 7.060089111328125,
                                    43.69965122967144, 7.061805725097656,
                                    43.69816193608326, 6.912803649902344
                                };
 
  // Polygon (Lat/Lon)
  modulepar DoubleList PX_G2 := { 
                                    43.548796947590226, 7.048072814941405, 
                                    43.548796947590226, 7.131500244140625,
                                    43.605131986533884, 7.131500244140625,
                                    43.605131986533884, 7.048072814941405,
                                    43.548796947590226, 7.048072814941405
                                };

  // PX_POINT_IN_G1
  modulepar DoubleList PX_POINT_IN_G1 := { 43.58206959563555, 6.974515914916991 };

  // PX_CIRCLE_IN_G1
  modulepar DoubleList PX_CIRCLE_IN_G1_CENTER := { 43.58206959563555, 6.974515914916991 };
  modulepar XSD.Double PX_CIRCLE_IN_G1_RADIUS := 200.000;
  modulepar XSD.AnyURI PX_CIRCLE_IN_G1_UOM := "urn:ogc:def:uom:EPSG::9001";

  // PX_CIRCLE_INTERSECT_ONLY_G1
  modulepar DoubleList PX_CIRCLE_INTERSECT_ONLY_G1_CENTER := { 43.576287071814875, 7.023181915283203 };
  modulepar XSD.Double PX_CIRCLE_INTERSECT_ONLY_G1_RADIUS := 1000.000;
  modulepar XSD.AnyURI PX_CIRCLE_INTERSECT_ONLY_G1_UOM := "urn:ogc:def:uom:EPSG::9001";

  // PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2
  modulepar DoubleList PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2_CENTER := { 43.576287071814875, 7.023181915283203 };
  modulepar XSD.Double PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2_RADIUS := 3000.000;
  modulepar XSD.AnyURI PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2_UOM := "urn:ogc:def:uom:EPSG::9001";

} // End of module AtsECRF_Pixits 
+118 −4
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ module AtsECRF_TestCases {
                                {
                                  m_location(
                                              PX_LOCATION_ID,
                                              { m_extension_point(encvalue_unichar(valueof(m_point(PX_POINT_IN_E_POLICE_SERVICE_BOUNDARY, PX_SRS_NAME, "point1")))) },
                                              { m_extension_point(encvalue_unichar(valueof(m_point(PX_POINT_IN_G1, PX_SRS_NAME, "point1")))) },
                                              "geodetic-2d" // TODO Use a Pixit
                                              )
                                },
@@ -176,7 +176,7 @@ module AtsECRF_TestCases {
                                {
                                  m_location(
                                              PX_LOCATION_ID,
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_IN_V_POLICE_SERVICE_BOUNDARY_POS), m_radius(PX_CIRCLE_UOM, PX_CIRCLE_IN_V_POLICE_SERVICE_BOUNDARY_RADIUS), PX_SRS_NAME)))) },
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_IN_G1_CENTER), m_radius(PX_CIRCLE_IN_G1_UOM, PX_CIRCLE_IN_G1_RADIUS), PX_SRS_NAME)))) },
                                              "geodetic-2d" // TODO Use a Pixit
                                              )
                                },
@@ -232,7 +232,7 @@ module AtsECRF_TestCases {
                                {
                                  m_location(
                                              PX_LOCATION_ID,
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_IN_V_POLICE_SERVICE_BOUNDARY_POS), m_radius(PX_CIRCLE_UOM, PX_CIRCLE_IN_V_POLICE_SERVICE_BOUNDARY_RADIUS), PX_SRS_NAME)))) },
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_IN_G1_CENTER), m_radius(PX_CIRCLE_IN_G1_UOM, PX_CIRCLE_IN_G1_RADIUS), PX_SRS_NAME)))) },
                                              "geodetic-2d" // TODO Use a Pixit
                                              )
                                },
@@ -277,7 +277,7 @@ module AtsECRF_TestCases {
                                {
                                  m_location(
                                              PX_LOCATION_ID,
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_IN_V_POLICE_SERVICE_BOUNDARY_POS), m_radius(PX_CIRCLE_UOM, PX_CIRCLE_IN_V_POLICE_SERVICE_BOUNDARY_RADIUS), PX_SRS_NAME)))) },
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_IN_G1_CENTER), m_radius(PX_CIRCLE_IN_G1_UOM, PX_CIRCLE_IN_G1_RADIUS), PX_SRS_NAME)))) },
                                              "unknown-location-profile" // TODO Use a Pixit
                                              )
                                },
@@ -388,6 +388,120 @@ module AtsECRF_TestCases {
      f_cf_01_http_down();
    }

    /**
    * @desc "IUT successfully responds with a service URI for intersecting circle"
    */
    testcase TC_ECRF_LOST_BV_06() runs on HttpComponent system TestAdapter {
      
      // Test control
      f_check_statements({
        { name := "PICS_ECRF_FIND_SERVICE", val := PICS_ECRF_FIND_SERVICE },
        { name := "PICS_ECRF_GEOMETRY_CIRCLE", val := PICS_ECRF_GEOMETRY_CIRCLE }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendFindServiceRequest(
        m_find_service_request(
                                {
                                  m_location(
                                              PX_LOCATION_ID,
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_INTERSECT_ONLY_G1_CENTER), m_radius(PX_CIRCLE_INTERSECT_ONLY_G1_UOM, PX_CIRCLE_INTERSECT_ONLY_G1_RADIUS), PX_SRS_NAME)))) },
                                              "geodetic-2d" // TODO Use a Pixit
                                              )
                                },
                                { },
                                PX_E_POLICE_SERVICE_URN,
                                true
                              )
      );

      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      tc_ac.start;
      f_receiveResponse(mw_http_find_service_response(
                                                      mw_find_service_response(
                                                                                { mw_mapping(
                                                                                    mw_expires_date_time(PX_LOST_EXPIRES),
                                                                                    PX_LOST_LAST_UPDATED,
                                                                                    PX_V_POLICE_SOURCE,
                                                                                    PX_E_POLICE_SOURCE_ID,
                                                                                    { mw_display_name(-, PX_E_POLICE_DISPLAY_NAME) },
                                                                                    { PX_E_POLICE_SIP_URI },
                                                                                    -,
                                                                                    PX_E_POLICE_SERVICE_URN,
                                                                                    -, -, -,
                                                                                    "112"
                                                                                  )
                                                                                }
                                                                              )
                                                        )
                        );

      // Postamble
      f_cf_01_http_down();
    }  

    /**
    * @desc "IUT successfully responds with a service URI for circle intersecting multiple boundaries"
    */
    testcase TC_ECRF_LOST_BV_07() runs on HttpComponent system TestAdapter {
      
      // Test control
      f_check_statements({
        { name := "PICS_ECRF_FIND_SERVICE", val := PICS_ECRF_FIND_SERVICE },
        { name := "PICS_ECRF_GEOMETRY_CIRCLE", val := PICS_ECRF_GEOMETRY_CIRCLE }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendFindServiceRequest(
        m_find_service_request(
                                {
                                  m_location(
                                              PX_LOCATION_ID,
                                              { m_extension_point(encvalue_unichar(valueof(m_circle(m_center_group_pos(PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2_CENTER), m_radius(PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2_UOM, PX_CIRCLE_INTERSECT_MAINLY_G1_AND_G2_RADIUS), PX_SRS_NAME)))) },
                                              "geodetic-2d" // TODO Use a Pixit
                                              )
                                },
                                { },
                                PX_E_POLICE_SERVICE_URN,
                                true
                              )
      );

      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      tc_ac.start;
      f_receiveResponse(mw_http_find_service_response(
                                                      mw_find_service_response(
                                                                                { mw_mapping(
                                                                                    mw_expires_date_time(PX_LOST_EXPIRES),
                                                                                    PX_LOST_LAST_UPDATED,
                                                                                    PX_V_POLICE_SOURCE,
                                                                                    PX_E_POLICE_SOURCE_ID,
                                                                                    { mw_display_name(-, PX_E_POLICE_DISPLAY_NAME) },
                                                                                    { PX_E_POLICE_SIP_URI },
                                                                                    -,
                                                                                    PX_E_POLICE_SERVICE_URN,
                                                                                    -, -, -,
                                                                                    "112"
                                                                                  )
                                                                                }
                                                                              )
                                                        )
                        );

      // Postamble
      f_cf_01_http_down();
    }  

  } // End of group LOST

} // End of module AtsECRF_TestCases