103 lines
3.5 KiB
JavaScript
103 lines
3.5 KiB
JavaScript
goog.require('goog.testing.jsunit');
|
|
goog.require('ol3.TileBounds');
|
|
|
|
|
|
function testClone() {
|
|
var tileBounds = new ol3.TileBounds(1, 2, 3, 4);
|
|
var clonedTileBounds = tileBounds.clone();
|
|
assertTrue(clonedTileBounds instanceof ol3.TileBounds);
|
|
assertFalse(clonedTileBounds === tileBounds);
|
|
assertEquals(tileBounds.minX, clonedTileBounds.minX);
|
|
assertEquals(tileBounds.minY, clonedTileBounds.minY);
|
|
assertEquals(tileBounds.maxX, clonedTileBounds.maxX);
|
|
assertEquals(tileBounds.maxY, clonedTileBounds.maxY);
|
|
}
|
|
|
|
|
|
function testContains() {
|
|
var tileBounds = new ol3.TileBounds(1, 1, 3, 3);
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 0, 0)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 0, 1)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 0, 2)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 0, 3)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 0, 4)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 1, 0)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 1, 1)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 1, 2)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 1, 3)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 1, 4)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 2, 0)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 2, 1)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 2, 2)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 2, 3)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 2, 4)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 3, 0)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 3, 1)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 3, 2)));
|
|
assertTrue(tileBounds.contains(new ol3.TileCoord(0, 3, 3)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 3, 4)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 4, 0)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 4, 1)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 4, 2)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 4, 3)));
|
|
assertFalse(tileBounds.contains(new ol3.TileCoord(0, 4, 4)));
|
|
}
|
|
|
|
|
|
function testBoundingTileBounds() {
|
|
var tileBounds = new ol3.TileBounds.boundingTileBounds(
|
|
new ol3.TileCoord(3, 1, 3),
|
|
new ol3.TileCoord(3, 2, 0));
|
|
assertEquals(1, tileBounds.minX);
|
|
assertEquals(0, tileBounds.minY);
|
|
assertEquals(2, tileBounds.maxX);
|
|
assertEquals(3, tileBounds.maxY);
|
|
}
|
|
|
|
|
|
function testBoundingTileBoundsMixedZ() {
|
|
assertThrows(function() {
|
|
var tileBounds = new ol3.TileBounds.boundingTileBounds(
|
|
new ol3.TileCoord(3, 1, 3),
|
|
new ol3.TileCoord(4, 2, 0));
|
|
});
|
|
}
|
|
|
|
|
|
function testForEachTileCoord() {
|
|
|
|
var tileBounds = new ol3.TileBounds(0, 2, 1, 3);
|
|
|
|
var tileCoords = [];
|
|
tileBounds.forEachTileCoord(5, function(tileCoord) {
|
|
tileCoords.push(tileCoord.clone());
|
|
});
|
|
|
|
assertEquals(4, tileCoords.length);
|
|
|
|
assertEquals(5, tileCoords[0].z);
|
|
assertEquals(0, tileCoords[0].x);
|
|
assertEquals(2, tileCoords[0].y);
|
|
|
|
assertEquals(5, tileCoords[1].z);
|
|
assertEquals(0, tileCoords[1].x);
|
|
assertEquals(3, tileCoords[1].y);
|
|
|
|
assertEquals(5, tileCoords[2].z);
|
|
assertEquals(1, tileCoords[2].x);
|
|
assertEquals(2, tileCoords[2].y);
|
|
|
|
assertEquals(5, tileCoords[3].z);
|
|
assertEquals(1, tileCoords[3].x);
|
|
assertEquals(3, tileCoords[3].y);
|
|
|
|
}
|
|
|
|
|
|
function testSize() {
|
|
var tileBounds = new ol3.TileBounds(0, 1, 2, 4);
|
|
var size = tileBounds.getSize();
|
|
assertEquals(3, size.width);
|
|
assertEquals(4, size.height);
|
|
}
|