TileRenderer: get correct fade-time for proxies
This commit is contained in:
parent
2aa75ddbf5
commit
8303a611ea
168
vtm-tests/test/org/oscim/layers/tile/TileRendererTest.java
Normal file
168
vtm-tests/test/org/oscim/layers/tile/TileRendererTest.java
Normal file
@ -0,0 +1,168 @@
|
||||
package org.oscim.layers.tile;
|
||||
|
||||
import static org.fest.assertions.api.Assertions.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.oscim.layers.tile.MapTile.TileNode;
|
||||
import org.oscim.renderer.MapRenderer;
|
||||
|
||||
public class TileRendererTest {
|
||||
|
||||
static {
|
||||
/* makes default minFadeTime == 1000 */
|
||||
MapRenderer.frametime = 1050;
|
||||
}
|
||||
|
||||
static TileNode makeNode(int fadeTime, TileNode parent) {
|
||||
TileNode n = new TileNode();
|
||||
n.item = new MapTile(n, 0, 0, 0);
|
||||
n.item.fadeTime = fadeTime;
|
||||
|
||||
if (parent == null) {
|
||||
// root node is its own parent
|
||||
n.parent = n;
|
||||
} else {
|
||||
parent.child00 = n;
|
||||
n.parent = parent;
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeOf1000() {
|
||||
|
||||
TileNode r = makeNode(0, null);
|
||||
TileNode n = makeNode(0, r);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, 0);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(1000);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromParent() {
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode n = makeNode(0, r);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, 0);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromGrandparent() {
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode p = makeNode(200, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, 0);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromParentWhenParentsTimeIsLessThanGrandpasTime() {
|
||||
|
||||
TileNode r = makeNode(200, null);
|
||||
TileNode p = makeNode(100, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, 0);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromParentForParentProxy() {
|
||||
|
||||
TileNode r = makeNode(200, null);
|
||||
TileNode p = makeNode(100, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, -1);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotGetMinFadeTimeFromGradparentForParentProxy() {
|
||||
/* (as the grandparent will not be locked) */
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode p = makeNode(200, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, -1);
|
||||
|
||||
assertThat(fadeTime).isNotEqualTo(100);
|
||||
assertThat(fadeTime).isEqualTo(200);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromParentForChildProxy() {
|
||||
|
||||
TileNode r = makeNode(200, null);
|
||||
TileNode p = makeNode(100, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, 1);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromGrandparentForChildProxy() {
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode p = makeNode(200, r);
|
||||
TileNode c = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(c.item, 1);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromGrandgrandparentForChildProxy() {
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode gp = makeNode(200, r);
|
||||
TileNode p = makeNode(200, gp);
|
||||
TileNode c = makeNode(0, p);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(c.item, 1);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeFromChild() {
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode p = makeNode(200, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
n.child00 = makeNode(50, n);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(n.item, 0);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(50);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMinFadeTimeForParentFromChild() {
|
||||
|
||||
TileNode r = makeNode(100, null);
|
||||
TileNode p = makeNode(200, r);
|
||||
TileNode n = makeNode(0, p);
|
||||
|
||||
n.child00 = makeNode(50, n);
|
||||
|
||||
long fadeTime = TileRenderer.getMinFade(p.item, -1);
|
||||
|
||||
assertThat(fadeTime).isEqualTo(50);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user