1
0
forked from MTSR/mapserver
mapserver/coords/tileconvert_test.go

167 lines
3.3 KiB
Go
Raw Normal View History

2019-01-20 22:10:48 +03:00
package coords
import (
"github.com/stretchr/testify/assert"
2019-01-21 15:45:35 +03:00
"mapserver/layer"
"testing"
2019-01-20 22:10:48 +03:00
)
func TestConvertMapblockToTile1(t *testing.T) {
mbc := NewMapBlockCoords(0, 0, 0)
2019-02-14 10:50:54 +03:00
layers := []*layer.Layer{
&layer.Layer{
2019-01-21 15:27:36 +03:00
Id: 0,
Name: "Base",
From: -16,
To: 160,
},
}
tc := GetTileCoordsFromMapBlock(mbc, layers)
2019-01-20 22:10:48 +03:00
if tc.X != 0 {
t.Fatal("x does not match")
}
if tc.Y != -1 {
t.Fatal("y does not match")
}
if tc.Zoom != 13 {
t.Fatal("zoom does not match")
}
}
func TestGetMapBlockRangeFromTile(t *testing.T) {
r := GetMapBlockRangeFromTile(NewTileCoords(0, 0, 13, 0), 0)
assert.Equal(t, r.Pos1.X, 0)
assert.Equal(t, r.Pos1.Z, -1)
assert.Equal(t, r.Pos2.X, 0)
assert.Equal(t, r.Pos2.Z, -1)
r = GetMapBlockRangeFromTile(NewTileCoords(-1, -1, 13, 0), 0)
assert.Equal(t, r.Pos1.X, -1)
assert.Equal(t, r.Pos1.Z, 0)
assert.Equal(t, r.Pos2.X, -1)
assert.Equal(t, r.Pos2.Z, 0)
}
func TestConvertMapblockToTile2(t *testing.T) {
mbc := NewMapBlockCoords(1, 0, 1)
2019-02-14 10:50:54 +03:00
layers := []*layer.Layer{
&layer.Layer{
2019-01-21 15:27:36 +03:00
Id: 0,
Name: "Base",
From: -16,
To: 160,
},
}
tc := GetTileCoordsFromMapBlock(mbc, layers)
2019-01-20 22:10:48 +03:00
if tc.X != 1 {
t.Fatal("x does not match")
}
if tc.Y != -2 {
t.Fatal("y does not match")
}
if tc.Zoom != 13 {
t.Fatal("zoom does not match")
}
}
func TestConvertMapblockToTile3(t *testing.T) {
mbc := NewMapBlockCoords(-1, 0, -1)
2019-02-14 10:50:54 +03:00
layers := []*layer.Layer{
&layer.Layer{
2019-01-21 15:27:36 +03:00
Id: 0,
Name: "Base",
From: -16,
To: 160,
},
}
tc := GetTileCoordsFromMapBlock(mbc, layers)
2019-01-20 22:10:48 +03:00
if tc.X != -1 {
t.Fatal("x does not match")
}
if tc.Y != 0 {
t.Fatal("y does not match")
}
if tc.Zoom != 13 {
t.Fatal("zoom does not match")
}
}
func TestZoomedQuadrantsFromTile(t *testing.T) {
tc := NewTileCoords(0, 0, 12, 0)
q := tc.GetZoomedQuadrantsFromTile()
assert.Equal(t, q.UpperLeft.X, 0)
assert.Equal(t, q.UpperLeft.Y, 0)
assert.Equal(t, q.UpperLeft.Zoom, 13)
assert.Equal(t, q.UpperRight.X, 1)
assert.Equal(t, q.UpperRight.Y, 0)
assert.Equal(t, q.UpperRight.Zoom, 13)
assert.Equal(t, q.LowerLeft.X, 0)
assert.Equal(t, q.LowerLeft.Y, 1)
assert.Equal(t, q.LowerLeft.Zoom, 13)
assert.Equal(t, q.LowerRight.X, 1)
assert.Equal(t, q.LowerRight.Y, 1)
assert.Equal(t, q.LowerRight.Zoom, 13)
}
2019-01-25 10:15:34 +03:00
func TestZoomedOutTile(t *testing.T) {
tc := NewTileCoords(0, 0, 12, 0)
nt := tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.Zoom, 11)
tc = NewTileCoords(1, 0, 12, 0)
nt = tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.Zoom, 11)
tc = NewTileCoords(0, 1, 12, 0)
nt = tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.Zoom, 11)
tc = NewTileCoords(1, 1, 12, 0)
nt = tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.X, 0)
assert.Equal(t, nt.Zoom, 11)
tc = NewTileCoords(2, 2, 12, 0)
nt = tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 1)
assert.Equal(t, nt.X, 1)
assert.Equal(t, nt.Zoom, 11)
tc = NewTileCoords(3, 3, 12, 0)
nt = tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 1)
assert.Equal(t, nt.X, 1)
assert.Equal(t, nt.Zoom, 11)
tc = NewTileCoords(4, 4, 12, 0)
nt = tc.GetZoomedOutTile()
assert.Equal(t, nt.X, 2)
assert.Equal(t, nt.X, 2)
assert.Equal(t, nt.Zoom, 11)
}