Skip to content

Commit 02e8135

Browse files
committed
more point tests
1 parent d3d299a commit 02e8135

File tree

1 file changed

+81
-2
lines changed

1 file changed

+81
-2
lines changed

src/test/java/bwapi/PointTest.java

Lines changed: 81 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
import org.junit.Test;
44

5-
import static org.junit.Assert.assertEquals;
6-
import static org.junit.Assert.assertNotEquals;
5+
import java.util.Random;
6+
7+
import static org.junit.Assert.*;
8+
import static org.mockito.Mockito.mock;
9+
import static org.mockito.Mockito.when;
710

811

912
public class PointTest {
@@ -47,6 +50,82 @@ public void alternativeConstructorTest() {
4750
assertEquals(wp, new WalkPosition(new Position(wp)));
4851
assertEquals(wp.toTilePosition(), new TilePosition(wp));
4952
assertEquals(wp, new WalkPosition(wp));
53+
}
54+
55+
@Test
56+
public void isValidChecks() {
57+
Game game = mock(Game.class);
58+
when(game.mapPixelWidth()).thenReturn(32 * 256);
59+
when(game.mapPixelHeight()).thenReturn(32 * 256);
60+
61+
assertTrue(new Position(0,0).isValid(game));
62+
assertTrue(new Position(1, 1).isValid(game));
63+
64+
assertFalse(new Position(-1, -1).isValid(game));
65+
assertFalse(new Position(1, -1).isValid(game));
66+
67+
assertTrue(new TilePosition(0, 0).isValid(game));
68+
assertFalse(new TilePosition(256, 256).isValid(game));
69+
}
70+
71+
@Test
72+
public void randomPointTests() {
73+
Random r = new Random();
74+
int bound = 100_000;
75+
76+
for (int i=0; i < 100; i++) {
77+
TilePosition tp1 = new TilePosition(r.nextInt(bound), r.nextInt(bound));
78+
TilePosition tp2 = new TilePosition(tp1);
79+
assertEquals(tp1, tp2);
80+
81+
Position p1 = new Position(tp1);
82+
Position p2 = tp1.toPosition();
83+
assertEquals(p1, p2);
84+
assertEquals(tp1.x * 32, p1.x);
85+
assertEquals(tp1.y * 32 , p2.y);
86+
87+
WalkPosition wp1 = new WalkPosition(tp1);
88+
WalkPosition wp2 = tp1.toWalkPosition();
89+
assertEquals(wp1, wp2);
90+
assertEquals(tp1.x * 4, wp1.x);
91+
assertEquals(tp1.y * 4 , wp2.y);
92+
93+
}
94+
95+
for (int i=0; i < 100; i++) {
96+
WalkPosition wp1 = new WalkPosition(r.nextInt(bound), r.nextInt(bound));
97+
WalkPosition wp2 = new WalkPosition(wp1);
98+
assertEquals(wp1, wp2);
99+
100+
Position p1 = new Position(wp1);
101+
Position p2 = wp1.toPosition();
102+
assertEquals(p1, p2);
103+
assertEquals(wp1.x * 8, p1.x);
104+
assertEquals(wp1.y * 8 , p2.y);
105+
106+
TilePosition tp1 = new TilePosition(wp1);
107+
TilePosition tp2 = wp1.toTilePosition();
108+
assertEquals(tp1, tp2);
109+
assertEquals(wp1.x / 4, tp1.x);
110+
assertEquals(wp1.y / 4 , tp2.y);
111+
}
112+
113+
for (int i=0; i < 100; i++) {
114+
Position p1 = new Position(r.nextInt(bound), r.nextInt(bound));
115+
Position p2 = new Position(p1);
116+
assertEquals(p1, p2);
117+
118+
WalkPosition wp1 = new WalkPosition(p1);
119+
WalkPosition wp2 = p1.toWalkPosition();
120+
assertEquals(wp1, wp2);
121+
assertEquals(p1.x / 8, wp1.x);
122+
assertEquals(p1.y / 8 , wp2.y);
50123

124+
TilePosition tp1 = new TilePosition(p1);
125+
TilePosition tp2 = p1.toTilePosition();
126+
assertEquals(tp1, tp2);
127+
assertEquals(p1.x / 32, tp1.x);
128+
assertEquals(p1.y / 32 , tp2.y);
129+
}
51130
}
52131
}

0 commit comments

Comments
 (0)