public void testHelperWithReprojection() throws DataSourceException,
NoSuchAuthorityCodeException, TransformException, FactoryException {
// Initialization of the helper
SpatialRequestHelper helper = new SpatialRequestHelper();
// Final GridGeometry
GridEnvelope2D gridRange = new GridEnvelope2D(0, 0, 1024, 1024);
GeneralEnvelope envelope = CRS.transform(coverage.getEnvelope(), CRS.decode("EPSG:3857"));
GridGeometry2D gridGeometry = new GridGeometry2D(gridRange, envelope);
// Setting the requested gridGeometry to have
helper.setRequestedGridGeometry(gridGeometry);
helper.setCoverageProperties(coverageProperties);
// Calculation of the final properties
helper.prepare();
// Calculate the expected results
final GeneralEnvelope temp = new GeneralEnvelope(CRS.transform(gridGeometry.getEnvelope(),
coverageProperties.crs2D));
temp.setCoordinateReferenceSystem(coverageProperties.crs2D);
temp.intersect(coverageProperties.getBbox());
final GridToEnvelopeMapper geMapper = new GridToEnvelopeMapper(
new GridEnvelope2D(gridRange), temp);
final AffineTransform tempTransform = geMapper.createAffineTransform();
double[] calculatedResolution = new double[] { XAffineTransform.getScaleX0(tempTransform),
XAffineTransform.getScaleY0(tempTransform) };
// Ensure is not empty