Added basic tests for Point, MousePath, and Mouse
This commit is contained in:
parent
c56c246d4a
commit
5fa3894245
BIN
bin/Mouse.class
BIN
bin/Mouse.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/Point.class
BIN
bin/Point.class
Binary file not shown.
Binary file not shown.
|
@ -46,7 +46,7 @@ public class Mouse {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (point.hasSameLocation(lastPoint)) {
|
if (point.isSameLocation(lastPoint)) {
|
||||||
numberOfRepeats++;
|
numberOfRepeats++;
|
||||||
if (numberOfRepeats == 20) {
|
if (numberOfRepeats == 20) {
|
||||||
if (currentPath.size() < 5) {
|
if (currentPath.size() < 5) {
|
||||||
|
|
|
@ -33,6 +33,10 @@ public class MousePath {
|
||||||
return numPoints;
|
return numPoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getTimespan() {
|
||||||
|
return timespan;
|
||||||
|
}
|
||||||
|
|
||||||
public void display() {
|
public void display() {
|
||||||
for (Point p : path) {
|
for (Point p : path) {
|
||||||
System.out.println("(" + p.getX() + ", " + p.getY() + "), " + p.getTime());
|
System.out.println("(" + p.getX() + ", " + p.getY() + "), " + p.getTime());
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class MousePathTest {
|
||||||
|
|
||||||
|
Mouse mouse = new Mouse("/home/dpapp/eclipse-workspace/RunescapeAI/testfiles/mouse_path_test1.txt");
|
||||||
|
ArrayList<MousePath> mousePaths = mouse.getMousePaths();
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mousePathLengthTest() {
|
||||||
|
assertEquals(mousePaths.get(0).getNumPoints(), 45);
|
||||||
|
assertEquals(mousePaths.get(1).getNumPoints(), 17);
|
||||||
|
assertEquals(mousePaths.get(2).getNumPoints(), 33);
|
||||||
|
assertEquals(mousePaths.get(3).getNumPoints(), 14);
|
||||||
|
assertEquals(mousePaths.get(4).getNumPoints(), 13);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mousePathTimespanTest() {
|
||||||
|
assertEquals(mousePaths.get(0).getTimespan(), 1225);
|
||||||
|
assertEquals(mousePaths.get(1).getTimespan(), 192);
|
||||||
|
assertEquals(mousePaths.get(2).getTimespan(), 458);
|
||||||
|
assertEquals(mousePaths.get(3).getTimespan(), 157);
|
||||||
|
assertEquals(mousePaths.get(4).getTimespan(), 142);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mousePathStartingPointTest() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mousePathEndingPointTest() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -26,10 +26,14 @@ public class Point {
|
||||||
return time;
|
return time;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasSameLocation(Point p2) {
|
public boolean isSameLocation(Point p2) {
|
||||||
return (this.x == p2.getX() && this.y == p2.getY());
|
return (this.x == p2.getX() && this.y == p2.getY());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double distance(Point p2) {
|
||||||
|
return Math.hypot(this.x - p2.getX(), this.y - p2.getY());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (obj == null) {
|
if (obj == null) {
|
||||||
|
@ -46,6 +50,6 @@ public class Point {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isValid() {
|
public boolean isValid() {
|
||||||
return (x >= 0 && x < 1920 && y >= 0 && y < 1920 && time >= 0);
|
return (x >= 0 && x < 1920 && y >= 0 && y < 1080 && time >= 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class PointTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void initializePointTest() {
|
||||||
|
Point p = new Point(54, 4, 134);
|
||||||
|
assertEquals(p.getX(), 54);
|
||||||
|
assertEquals(p.getY(), 4);
|
||||||
|
assertEquals(p.getTime(), 134);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isValidPointTest() {
|
||||||
|
Point p1 = new Point(54, 4, 134);
|
||||||
|
assertEquals(p1.isValid(), true);
|
||||||
|
|
||||||
|
Point p2 = new Point(-3, 84, 832);
|
||||||
|
assertEquals(p2.isValid(), false);
|
||||||
|
|
||||||
|
Point p3 = new Point(1940, 84, 832);
|
||||||
|
assertEquals(p3.isValid(), false);
|
||||||
|
|
||||||
|
Point p4 = new Point(3, -5, 832);
|
||||||
|
assertEquals(p4.isValid(), false);
|
||||||
|
|
||||||
|
Point p5 = new Point(0, 1084, 832);
|
||||||
|
assertEquals(p5.isValid(), false);
|
||||||
|
|
||||||
|
Point p6 = new Point(0, 1001, -4);
|
||||||
|
assertEquals(p6.isValid(), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isSameLocationTest() {
|
||||||
|
Point p1 = new Point(54, 4, 134);
|
||||||
|
Point p2 = new Point(54, 4, 832);
|
||||||
|
Point p3 = new Point(85, 4, 832);
|
||||||
|
Point p4 = new Point(54, 12, 832);
|
||||||
|
assertEquals(p1.isSameLocation(p2), true);
|
||||||
|
assertEquals(p1.isSameLocation(p3), false);
|
||||||
|
assertEquals(p1.isSameLocation(p4), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void distanceTest() {
|
||||||
|
Point p1 = new Point(54, 4, 134);
|
||||||
|
Point p2 = new Point(54, 4, 832);
|
||||||
|
Point p3 = new Point(85, 4, 832);
|
||||||
|
Point p4 = new Point(85, 12, 832);
|
||||||
|
|
||||||
|
assertEquals(p1.distance(p2), 0.0);
|
||||||
|
assertEquals(p1.distance(p3), 31.0);
|
||||||
|
|
||||||
|
double distance = p1.distance(p4) - 32.01562118;
|
||||||
|
assertTrue(distance >= 0 && distance < 0.00001);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue