package br.com.etyllica.core.linear;
import org.junit.Assert;
import org.junit.Test;
import br.com.etyllica.core.linear.Line2D;
import br.com.etyllica.core.linear.Point2D;
public class Line2DTest {
@Test
public void testInterpolate() {
Point2D p1 = new Point2D(0, 0);
Point2D p2 = new Point2D(3, 6);
int size = 4;
Point2D[] points = Line2D.interpolate(p1, p2, size);
Assert.assertEquals(size, points.length);
Assert.assertEquals(0, points[0].getX(), 0);
Assert.assertEquals(1, points[1].getX(), 0);
Assert.assertEquals(2, points[2].getX(), 0);
Assert.assertEquals(3, points[3].getX(), 0);
Assert.assertEquals(0, points[0].getY(), 0);
Assert.assertEquals(2, points[1].getY(), 0);
Assert.assertEquals(4, points[2].getY(), 0);
Assert.assertEquals(6, points[3].getY(), 0);
}
@Test
public void testIntersection() {
Point2D p1 = new Point2D(0, 0);
Point2D p2 = new Point2D(4, 4);
Point2D p3 = new Point2D(4, 0);
Point2D p4 = new Point2D(0, 4);
Point2D point = Line2D.intersection(p1, p2, p3, p4);
Assert.assertEquals(2, point.getX(), 0);
Assert.assertEquals(2, point.getY(), 0);
}
}