package org.geowebcache.grid;
import java.util.Arrays;
import junit.framework.TestCase;
public class GridSetTest extends TestCase {
GridSetBroker gridSetBroker = new GridSetBroker(false, false);
// Top left
GridSet gridSetTL = GridSetFactory.createGridSet("test", SRS.getEPSG4326(),
BoundingBox.WORLD4326, true, 10, null, 0.00028, 256, 256, false);
// Bottom left
GridSet gridSetBL = GridSetFactory.createGridSet("test", SRS.getEPSG4326(),
BoundingBox.WORLD4326, false, 10, null, 0.00028, 256, 256, false);
public void testBoundsFromIndex() throws Exception {
long[] index = { 0, 0, 1 };
BoundingBox bboxTL = gridSetTL.boundsFromIndex(index);
BoundingBox bboxBL = gridSetBL.boundsFromIndex(index);
BoundingBox solution = new BoundingBox(-180.0, -90.0, -90.0, 0);
assertTrue(bboxTL.equals(solution));
assertTrue(bboxBL.equals(solution));
}
public void testBoundsFromRectangle() throws Exception {
long[] rect = { 0, 0, 0, 0, 0 };
BoundingBox bboxTL = gridSetTL.boundsFromRectangle(rect);
BoundingBox bboxBL = gridSetBL.boundsFromRectangle(rect);
BoundingBox solution = new BoundingBox(-180.0, -90.0, 0.0, 90.0);
assertEquals(solution, bboxTL);
assertEquals(solution, bboxBL);
long[] rect2 = { 2, 1, 2, 1, 1 };
BoundingBox bboxTL2 = gridSetTL.boundsFromRectangle(rect2);
BoundingBox bboxBL2 = gridSetBL.boundsFromRectangle(rect2);
BoundingBox solution2 = new BoundingBox(0.0, 0.0, 90.0, 90.0);
assertEquals(solution2, bboxBL2);
assertEquals(solution2, bboxTL2);
}
public void testClosestIndex() throws Exception {
BoundingBox box = new BoundingBox(-180.0, -90.0, -90.0, 0);
long[] idxTL = gridSetTL.closestIndex(box);
long[] idxBL = gridSetBL.closestIndex(box);
long[] solution = { 0, 0, 1 };
assertTrue(Arrays.equals(idxTL, solution));
assertTrue(Arrays.equals(idxBL, solution));
}
public void testClosestRectangle() throws Exception {
BoundingBox box = new BoundingBox(-180.0, -90.0, 0.0, 0.0);
long[] rectTL = gridSetTL.closestRectangle(box);
long[] rectBL = gridSetBL.closestRectangle(box);
long[] solution = { 0, 0, 1, 0, 1 };
assertTrue(Arrays.equals(rectTL, solution));
assertTrue(Arrays.equals(rectBL, solution));
}
public void testGetLeftTopCorner() throws Exception {
double[] tlTL = gridSetTL.getOrderedTopLeftCorner(1);
double[] tlBL = gridSetBL.getOrderedTopLeftCorner(1);
assertTrue(Math.abs(tlBL[1] - 90.0) < 0.01);
assertTrue(Math.abs(tlTL[1] - 90.0) < 0.01);
}
}