001 package fr.isae.geometry;
002
003 import org.junit.*;
004 import static org.junit.Assert.*;
005
006 /**
007 * Unit Test for class Point.
008 *
009 *
010 * Created: Mon Oct 30 16:30:12 2006
011 *
012 * @author <a href="mailto:garion@isae.fr">Christophe Garion</a>
013 * @version 1.0
014 */
015 public class PointTest {
016
017 private Point p1;
018 private Point p2;
019
020 private static final double EPS = 1E-9;
021
022 /**
023 * Setup for the tests.
024 */
025 @Before public void setUp() {
026 p1 = this.createPoint(0.0, 0.0);
027 p2 = this.createPoint(5.0, 6.0);
028 }
029
030 /**
031 * Cleanup for the tests.
032 */
033 @After public void tearDown() {
034
035 }
036
037 /**
038 * Factory method for Point.
039 *
040 * @param x l'abscisse du point
041 * @param y l'ordonnee du point
042 * @return un point de coordonnees (x, y)
043 */
044 protected Point createPoint(double x, double y) {
045 return new Point(x, y);
046 }
047
048 /**
049 * Basic test for translater.
050 */
051 @Test public void testTranslaterBasic() {
052 p2.translater(3.0, 6.0);
053 assertEquals(8.0, p2.getX(), EPS);
054 assertEquals(12.0, p2.getY(), EPS);
055 }
056
057 /**
058 * Test for translater with null vector.
059 */
060 @Test public void testTranslaterNullVector() {
061 p2.translater(0.0, 0.0);
062 assertEquals(5.0, p2.getX(), EPS);
063 assertEquals(6.0, p2.getY(), EPS);
064 }
065
066 /**
067 * Test for translater: going back!
068 */
069 @Test public void testTranslaterBack() {
070 Point pold = p2.clone();
071 p2.translater(2.0, 3.0);
072 p2.translater(-2.0, -3.0);
073 assertEquals(pold.getX(), p2.getX(), EPS);
074 assertEquals(pold.getY(), p2.getY(), EPS);
075 }
076
077 /**
078 * Test method for distance.
079 */
080 @Test public void testDistance() {
081 assertEquals(7.810249676, p1.distance(p2), EPS);
082 }
083
084 /**
085 * Test method for equals.
086 */
087 @Test public void testEquals() {
088 assertTrue(p1.equals(p1));
089 assertFalse(p1.equals(p2));
090 assertFalse(p2.equals(p1));
091
092 p2.setX(p1.getX());
093 p2.setY(p1.getY());
094
095 assertTrue(p1.equals(p2));
096 assertTrue(p2.equals(p1));
097
098 assertFalse(p1.equals(new Object()));
099 assertFalse(p1.equals(new java.util.ArrayList<Point>()));
100 assertFalse(p1.equals(null));
101 }
102 }
|