mirror of
https://github.com/NASAWorldWind/WebWorldWind.git
synced 2025-12-08 19:46:18 +00:00
540 lines
23 KiB
JavaScript
540 lines
23 KiB
JavaScript
/*
|
||
* Copyright 2003-2006, 2009, 2017, 2020 United States Government, as represented
|
||
* by the Administrator of the National Aeronautics and Space Administration.
|
||
* All rights reserved.
|
||
*
|
||
* The NASAWorldWind/WebWorldWind platform is licensed under the Apache License,
|
||
* Version 2.0 (the "License"); you may not use this file except in compliance
|
||
* with the License. You may obtain a copy of the License
|
||
* at http://www.apache.org/licenses/LICENSE-2.0
|
||
*
|
||
* Unless required by applicable law or agreed to in writing, software distributed
|
||
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||
* specific language governing permissions and limitations under the License.
|
||
*
|
||
* NASAWorldWind/WebWorldWind also contains the following 3rd party Open Source
|
||
* software:
|
||
*
|
||
* ES6-Promise – under MIT License
|
||
* libtess.js – SGI Free Software License B
|
||
* Proj4 – under MIT License
|
||
* JSZip – under MIT License
|
||
*
|
||
* A complete listing of 3rd Party software notices and licenses included in
|
||
* WebWorldWind can be found in the WebWorldWind 3rd-party notices and licenses
|
||
* PDF found in code directory.
|
||
*/
|
||
define([
|
||
'src/ogc/wcs/WcsCoverageDescriptions',
|
||
'src/geom/Sector',
|
||
'test/CustomMatchers.test'
|
||
], function (WcsCoverageDescriptions,
|
||
Sector,
|
||
CustomMatchers) {
|
||
"use strict";
|
||
|
||
beforeEach(function () {
|
||
jasmine.addMatchers(CustomMatchers);
|
||
});
|
||
|
||
describe("Constructor testing", function () {
|
||
|
||
it("should throw an exception when nothing is provided as an argument", function () {
|
||
expect((function () {new WcsCoverageDescriptions(null)})).toThrow();
|
||
});
|
||
});
|
||
|
||
describe("WSC 1.0.0 Describe Coverage", function () {
|
||
var xmlDom;
|
||
|
||
beforeAll(function (done) {
|
||
|
||
var xhr = new XMLHttpRequest();
|
||
xhr.open("GET", "../base/test/ogc/wcs/wcs100DescribeCoverage.xml", true);
|
||
xhr.addEventListener('load', function () {
|
||
if (xhr.readyState === 4) {
|
||
if (xhr.status === 200) {
|
||
xmlDom = xhr.responseXML;
|
||
done();
|
||
} else {
|
||
done("Test WCS Capabilities Retrieval Error: " + xhr.statusText);
|
||
}
|
||
}
|
||
});
|
||
xhr.send(null);
|
||
});
|
||
|
||
describe("Utility Methods", function () {
|
||
|
||
it("should match the expected bounding sector", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var expectedSector = new Sector(-90, 90, -180, 180);
|
||
|
||
var actualSector = wcsCoverageDescriptions.getSector("testing:gebco");
|
||
|
||
expect(actualSector).toBeSector(expectedSector, 1.0e-9);
|
||
});
|
||
|
||
it("should report a resolution of 0.008334 degrees", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var expectedResolution = 0.0083337;
|
||
|
||
var actualResolution = wcsCoverageDescriptions.getResolution("testing:gebco");
|
||
|
||
expect(actualResolution).toBeCloseTo(expectedResolution, 6);
|
||
});
|
||
|
||
it("should provide the request/response crs", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var expectedCrs = ["EPSG:4326"];
|
||
|
||
var supportedCrs = wcsCoverageDescriptions.getSupportedCrs("testing:gebco");
|
||
|
||
expect(supportedCrs.length).toBe(expectedCrs.length);
|
||
expect(supportedCrs[0]).toBe(expectedCrs[0]);
|
||
});
|
||
});
|
||
|
||
it("should match the coverage name testing:gebco", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var name = wcsCoverageDescriptions.coverages[0].name;
|
||
|
||
expect(name).toBe("testing:gebco");
|
||
});
|
||
|
||
it("should match the coverage label gebco", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var label = wcsCoverageDescriptions.coverages[0].label;
|
||
|
||
expect(label).toBe("gebco");
|
||
});
|
||
|
||
it("should match the coverage description Generated from GeoTIFF", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var description = wcsCoverageDescriptions.coverages[0].description;
|
||
|
||
expect(description).toBe("Generated from GeoTIFF");
|
||
});
|
||
|
||
it("should have the keywords gebco, WCS, GeoTIFF", function() {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var keywords = wcsCoverageDescriptions.coverages[0].keywords;
|
||
|
||
expect(keywords[0].value).toBe("gebco");
|
||
expect(keywords[1].value).toBe("WCS");
|
||
expect(keywords[2].value).toBe("GeoTIFF");
|
||
});
|
||
|
||
it("should have a lonLatEnvelope srs of CRS84", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var lonLatEnvelopSrs = wcsCoverageDescriptions.coverages[0].lonLatEnvelope.srsName;
|
||
|
||
expect(lonLatEnvelopSrs).toBe("urn:ogc:def:crs:OGC:1.3:CRS84");
|
||
});
|
||
|
||
it("should have lonLatEnvelop positions spanning the globe", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var error = 1e-9;
|
||
|
||
var lonLatEnvelop = wcsCoverageDescriptions.coverages[0].lonLatEnvelope;
|
||
|
||
expect(lonLatEnvelop.pos[0][0]).toBeCloseTo(-180.0, error);
|
||
expect(lonLatEnvelop.pos[0][1]).toBeCloseTo(-90.0, error);
|
||
expect(lonLatEnvelop.pos[1][0]).toBeCloseTo(180.0, error);
|
||
expect(lonLatEnvelop.pos[1][1]).toBeCloseTo(90.0, error);
|
||
});
|
||
|
||
it("should show support for the EPSG:4326 CRS", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var supportedRequestCrs = wcsCoverageDescriptions.coverages[0].supportedCrs.requests[0];
|
||
var supportedResponseCrs = wcsCoverageDescriptions.coverages[0].supportedCrs.responses[0];
|
||
|
||
expect(supportedRequestCrs).toBe("EPSG:4326");
|
||
expect(supportedResponseCrs).toBe("EPSG:4326");
|
||
});
|
||
|
||
describe("Supported Formats", function () {
|
||
|
||
it("should have 12 supported formats", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var supportedFormatsCount = wcsCoverageDescriptions.coverages[0].supportedFormats.formats.length;
|
||
|
||
expect(supportedFormatsCount).toBe(12);
|
||
});
|
||
|
||
it("should show a native format of GeoTIFF", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var nativeFormat = wcsCoverageDescriptions.coverages[0].supportedFormats.nativeFormat;
|
||
|
||
expect(nativeFormat).toBe("GeoTIFF");
|
||
});
|
||
|
||
it("should have support for GeoPackage (tiles)", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var formatSupported = wcsCoverageDescriptions.coverages[0].supportedFormats.formats[3];
|
||
|
||
expect(formatSupported).toBe("GeoPackage (tiles)");
|
||
});
|
||
});
|
||
|
||
describe("Supported Interpolations", function () {
|
||
|
||
it("should have three supported interpolation methods", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var numberOfSupportedInterpolationMethods = wcsCoverageDescriptions.coverages[0].supportedInterpolations.methods.length;
|
||
|
||
expect(numberOfSupportedInterpolationMethods).toBe(3);
|
||
});
|
||
|
||
it("should show a default nearest neighbor interpolation method", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var defaultInterpolation = wcsCoverageDescriptions.coverages[0].supportedInterpolations.default;
|
||
|
||
expect(defaultInterpolation).toBe("nearest neighbor");
|
||
});
|
||
|
||
it("should support bilinear interpolation", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var bilinearInterpolationMethod = wcsCoverageDescriptions.coverages[0].supportedInterpolations.methods[1];
|
||
|
||
expect(bilinearInterpolationMethod).toBe("bilinear");
|
||
});
|
||
});
|
||
|
||
describe("Spatial Domain Set", function () {
|
||
|
||
it("Should have an envelope with an EPSG:4326 srs name", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var envelopSrsName = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.envelope.srsName;
|
||
|
||
expect(envelopSrsName).toBe("EPSG:4326");
|
||
});
|
||
|
||
it("Should have an envelope which spans the entire globe", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var error = 1e-9;
|
||
|
||
var domainEnvelope = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.envelope.pos;
|
||
|
||
expect(domainEnvelope[0][0]).toBeCloseTo(-180.0, error);
|
||
expect(domainEnvelope[0][1]).toBeCloseTo(-90.0, error);
|
||
expect(domainEnvelope[1][0]).toBeCloseTo(180.0, error);
|
||
expect(domainEnvelope[1][1]).toBeCloseTo(90.0, error);
|
||
});
|
||
|
||
it("should have the correct axis names of x and y", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var axisNames = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.rectifiedGrid.axisNames;
|
||
|
||
expect(axisNames[0]).toBe("x");
|
||
expect(axisNames[1]).toBe("y");
|
||
});
|
||
|
||
it("should have an origin of -179.99583333333334 89.99583333333334", function() {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var pos = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.rectifiedGrid.origin.pos.pos;
|
||
|
||
expect(pos[0]).toBeCloseTo(-179.99583333333334, 0.000001);
|
||
expect(pos[1]).toBeCloseTo(89.99583333333334, 0.000001);
|
||
});
|
||
|
||
it("should have a low grid envelope of 0, 0", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var lowEnvelope = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.rectifiedGrid.limits.low;
|
||
|
||
expect(lowEnvelope[0]).toBe("0");
|
||
expect(lowEnvelope[1]).toBe("0");
|
||
});
|
||
|
||
it("should have a high grid envelope of 43199, 21599", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var highEnvelope = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.rectifiedGrid.limits.high;
|
||
|
||
expect(highEnvelope[0]).toBe("43199");
|
||
expect(highEnvelope[1]).toBe("21599");
|
||
});
|
||
|
||
it("should have offset vector values of 0.0 0.008333333333333333 for the first offset", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var values = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.rectifiedGrid.offsetVector[0].values;
|
||
|
||
expect(values[0]).toBeCloseTo(0, 0.000001);
|
||
expect(values[1]).toBeCloseTo(0.008333333333333333, 0.0000001);
|
||
});
|
||
|
||
it("should have offset vector values of -0.008333333333333333 0.0 for the second offset", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var values = wcsCoverageDescriptions.coverages[0].domainSet.spatialDomain.rectifiedGrid.offsetVector[1].values;
|
||
|
||
expect(values[0]).toBeCloseTo(-0.008333333333333333, 0.0000001);
|
||
expect(values[1]).toBeCloseTo(0, 0.000001);
|
||
});
|
||
});
|
||
|
||
describe("Range Set", function () {
|
||
|
||
it("should have a range set name gebco", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var rangeSetName = wcsCoverageDescriptions.coverages[0].rangeSet.name;
|
||
|
||
expect(rangeSetName).toBe("gebco");
|
||
});
|
||
|
||
it ("should have a range set label gebco", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var rangeSetLabel = wcsCoverageDescriptions.coverages[0].rangeSet.label;
|
||
|
||
expect(rangeSetLabel).toBe("gebco");
|
||
});
|
||
|
||
it("should have a range set axis description name: Band", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var rangeSetAxisName = wcsCoverageDescriptions.coverages[0].rangeSet.axisDescriptions[0].name;
|
||
|
||
expect(rangeSetAxisName).toBe("Band");
|
||
});
|
||
|
||
it("should have a range set axis description label: Band", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var rangeSetAxisLabel = wcsCoverageDescriptions.coverages[0].rangeSet.axisDescriptions[0].label;
|
||
|
||
expect(rangeSetAxisLabel).toBe("Band");
|
||
});
|
||
});
|
||
});
|
||
|
||
describe("WSC 2.0.1 Describe Coverage", function () {
|
||
var xmlDom;
|
||
|
||
beforeAll(function (done) {
|
||
|
||
var xhr = new XMLHttpRequest();
|
||
xhr.open("GET", "../base/test/ogc/wcs/wcs201DescribeCoverage.xml", true);
|
||
xhr.addEventListener('load', function () {
|
||
if (xhr.readyState === 4) {
|
||
if (xhr.status === 200) {
|
||
xmlDom = xhr.responseXML;
|
||
done();
|
||
} else {
|
||
done("Test WCS Capabilities Retrieval Error: " + xhr.statusText);
|
||
}
|
||
}
|
||
});
|
||
xhr.send(null);
|
||
});
|
||
|
||
describe("Utility Methods", function () {
|
||
|
||
it("should match the expected bounding sector", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var expectedSector = new Sector(-90, 90, -180, 180);
|
||
|
||
var actualSector = wcsCoverageDescriptions.getSector("testing__gebco");
|
||
|
||
expect(actualSector).toBeSector(expectedSector, 1.0e-9);
|
||
});
|
||
|
||
it("should report a resolution of 0.008334 degrees", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var expectedResolution = 0.0083337;
|
||
|
||
var actualResolution = wcsCoverageDescriptions.getResolution("testing__gebco");
|
||
|
||
expect(actualResolution).toBeCloseTo(expectedResolution, 6);
|
||
});
|
||
|
||
it("should provide the request/response crs", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
var expectedCrs = ["http://www.opengis.net/def/crs/EPSG/0/4326"];
|
||
|
||
var supportedCrs = wcsCoverageDescriptions.getSupportedCrs("testing__gebco");
|
||
|
||
expect(supportedCrs.length).toBe(expectedCrs.length);
|
||
expect(supportedCrs[0]).toBe(expectedCrs[0]);
|
||
});
|
||
});
|
||
|
||
it("should match the coverage id testing__gebco", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var name = wcsCoverageDescriptions.coverages[0].coverageId;
|
||
|
||
expect(name).toBe("testing__gebco");
|
||
});
|
||
|
||
describe("Domain Set", function () {
|
||
|
||
it("should have the correct gml:id of grid00__testing__gebco", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var gmlDomainSetId = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.id;
|
||
|
||
expect(gmlDomainSetId).toBe("grid00__testing__gebco");
|
||
});
|
||
|
||
it("should have the correct axis labels of i and j", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var axisLabels = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.axisLabels;
|
||
|
||
expect(axisLabels[0]).toBe("i");
|
||
expect(axisLabels[1]).toBe("j");
|
||
});
|
||
|
||
it("should have an origin of 89.99583333333334 -179.99583333333334", function() {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var pos = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.origin.point.pos.pos;
|
||
|
||
expect(pos[0]).toBeCloseTo(89.99583333333334, 0.000001);
|
||
expect(pos[1]).toBeCloseTo(-179.99583333333334, 0.000001);
|
||
});
|
||
|
||
it("should have a low grid envelope of 0, 0", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var lowEnvelope = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.limits.low;
|
||
|
||
expect(lowEnvelope[0]).toBe("0");
|
||
expect(lowEnvelope[1]).toBe("0");
|
||
});
|
||
|
||
it("should have a high grid envelope of 43199, 21599", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var highEnvelope = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.limits.high;
|
||
|
||
expect(highEnvelope[0]).toBe("43199");
|
||
expect(highEnvelope[1]).toBe("21599");
|
||
});
|
||
|
||
it("should have an offset vector srsName of 4326 for the first and second offsets", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var offsetSrsOne = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.offsetVector[0].srsName;
|
||
var offsetSrsTwo = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.offsetVector[1].srsName;
|
||
|
||
expect(offsetSrsOne).toBe("http://www.opengis.net/def/crs/EPSG/0/4326");
|
||
expect(offsetSrsTwo).toBe("http://www.opengis.net/def/crs/EPSG/0/4326");
|
||
});
|
||
|
||
it("should have offset vector values of 0.0 0.008333333333333333 for the first offset", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var values = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.offsetVector[0].values;
|
||
|
||
expect(values[0]).toBeCloseTo(0, 0.000001);
|
||
expect(values[1]).toBeCloseTo(0.008333333333333333, 0.0000001);
|
||
});
|
||
|
||
it("should have offset vector values of -0.008333333333333333 0.0 for the second offset", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var values = wcsCoverageDescriptions.coverages[0].domainSet.rectifiedGrid.offsetVector[1].values;
|
||
|
||
expect(values[0]).toBeCloseTo(-0.008333333333333333, 0.0000001);
|
||
expect(values[1]).toBeCloseTo(0, 0.000001);
|
||
});
|
||
|
||
});
|
||
|
||
describe("BoundedBy", function () {
|
||
|
||
it("should have a bounded by envelope srs name of http://www.opengis.net/def/crs/EPSG/0/4326", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var boundedBySrsName = wcsCoverageDescriptions.coverages[0].boundedBy.envelope.srsName;
|
||
|
||
expect(boundedBySrsName).toBe("http://www.opengis.net/def/crs/EPSG/0/4326");
|
||
});
|
||
|
||
it("should have a bounded by envelope axis labels of Lat and Lon", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var boundedByAxisLabels = wcsCoverageDescriptions.coverages[0].boundedBy.envelope.axisLabels;
|
||
|
||
expect(boundedByAxisLabels[0]).toBe("Lat");
|
||
expect(boundedByAxisLabels[1]).toBe("Long");
|
||
});
|
||
|
||
it("should have a bounded by envelope uom labels of Deg and Deg", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var boundedByUomLabels = wcsCoverageDescriptions.coverages[0].boundedBy.envelope.uomLabels;
|
||
|
||
expect(boundedByUomLabels[0]).toBe("Deg");
|
||
expect(boundedByUomLabels[1]).toBe("Deg");
|
||
});
|
||
|
||
it("should have a bounded by envelope srs dimension of 2", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var boundedBySrsDimension = wcsCoverageDescriptions.coverages[0].boundedBy.envelope.srsDimension;
|
||
|
||
expect(boundedBySrsDimension).toBe(2);
|
||
});
|
||
|
||
it("should have a bounded by envelope lower corner of -90.0 and -180.0", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var boundedByLowerCorner = wcsCoverageDescriptions.coverages[0].boundedBy.envelope.lower;
|
||
|
||
expect(boundedByLowerCorner[0]).toBeCloseTo(-90.0, 0.000001);
|
||
expect(boundedByLowerCorner[1]).toBeCloseTo(-180.0, 0.000001);
|
||
});
|
||
|
||
it("should have a bounded by envelope upper corner of 90.0 and 180.0", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var boundedByUpperCorner = wcsCoverageDescriptions.coverages[0].boundedBy.envelope.upper;
|
||
|
||
expect(boundedByUpperCorner[0]).toBeCloseTo(90.0, 0.000001);
|
||
expect(boundedByUpperCorner[1]).toBeCloseTo(180.0, 0.000001);
|
||
});
|
||
});
|
||
|
||
describe("Service Parameters", function () {
|
||
|
||
it("should have a subtype of RectifiedGridCoverage", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var serviceParameterSubtype = wcsCoverageDescriptions.coverages[0].serviceParameters.coverageSubtype;
|
||
|
||
expect(serviceParameterSubtype).toBe("RectifiedGridCoverage");
|
||
});
|
||
|
||
it("should have a native format of image/tiff", function () {
|
||
var wcsCoverageDescriptions = new WcsCoverageDescriptions(xmlDom);
|
||
|
||
var serviceParameterNativeFormat = wcsCoverageDescriptions.coverages[0].serviceParameters.nativeFormat;
|
||
|
||
expect(serviceParameterNativeFormat).toBe("image/tiff");
|
||
});
|
||
});
|
||
});
|
||
});
|