package edu.stanford.rsl.conrad.geometry.test;
import junit.framework.Assert;
import org.junit.Test;
import edu.stanford.rsl.conrad.geometry.shapes.simple.Edge;
import edu.stanford.rsl.conrad.geometry.shapes.simple.PointND;
import edu.stanford.rsl.conrad.geometry.shapes.simple.StraightLine;
import edu.stanford.rsl.conrad.geometry.shapes.simple.Triangle;
import edu.stanford.rsl.conrad.numerics.SimpleVector;
public class CurveTests {
@Test
public void intersectTest(){
PointND one = new PointND(0, 0, 0);
PointND two = new PointND(1, 1, 1);
PointND three = new PointND(1, 0, 0);
StraightLine line1 = new StraightLine(one, two);
StraightLine line2 = new StraightLine(two, three);
StraightLine line3 = new StraightLine(one, new SimpleVector(-1,-1,-1));
Triangle t = new Triangle(one, new PointND(1,1, 0), three);
Assert.assertEquals(t.intersect(line1).euclideanDistance(t.intersect(line3)), 0.0);
Assert.assertEquals(line1.intersect(line2).euclideanDistance(two), 0.0);
Assert.assertEquals(line3.intersect(line2).euclideanDistance(two), 0.0);
}
@Test
public void evaluateTest(){
PointND one = new PointND(0, 0, 0);
PointND two = new PointND(1, 1, 1);
StraightLine line1 = new StraightLine(one, two);
Assert.assertEquals(line1.evaluate(1.0).euclideanDistance(two), 0.0);
}
@Test
public void edgeConstructionTest(){
PointND one = new PointND(0, 0, -1);
PointND two = new PointND(2, 2, 0);
Edge line1 = new Edge(one, two);
Assert.assertEquals(two, line1.getEnd());
//System.out.println(line1.evaluate(line1.getLastInternalIndex()));
Assert.assertEquals(two, line1.evaluate(line1.getLastInternalIndex()));
Assert.assertEquals(one, line1.getPoint());
}
}
/*
* Copyright (C) 2010-2014 Andreas Maier
* CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
*/