PointTest.java
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.00.0);
027         p2 = this.createPoint(5.06.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.06.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.00.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.03.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 }