package line_v5; /** * The test class LineTest. * * @author DB * @version 02/2010 */ public class LineTest extends junit.framework.TestCase { private Line d1; private Line d2; public LineTest() { } protected void setUp() { } protected void tearDown() { } public void test1Minimal() { // getters d1 = new Line( 1.0, 2.0, 3.0 ); assertEquals( 1.0, d1.getA() ); assertEquals( 2.0, d1.getB() ); assertEquals( 3.0, d1.getC() ); } // test1Minimal() public void test2Confondues() { // C onfondues d1 = new Line( 1.0, 2.0, 3.0 ); d2 = new Line( 3.0, 6.0, 9.0 ); assertEquals( "C", d1.estSOPC( d2 ) ); assertEquals( "C", d2.estSOPC( d1 ) ); d1 = new Line( 2.0, 0.0, 3.0 ); d2 = new Line( 6.0, 0.0, 9.0 ); assertEquals( "C", d1.estSOPC( d2 ) ); assertEquals( "C", d2.estSOPC( d1 ) ); d1 = new Line( 0.0, 2.0, 3.0 ); d2 = new Line( 0.0, -4.0, -6.0 ); assertEquals( "C", d1.estSOPC( d2 ) ); assertEquals( "C", d2.estSOPC( d1 ) ); } // test2Confondues() public void test3Paralleles() { // P arallèles d1 = new Line( 1.0, 2.0, -3.0 ); d2 = new Line( 3.0, 6.0, -3.0 ); assertEquals( "P", d1.estSOPC( d2 ) ); assertEquals( "P", d2.estSOPC( d1 ) ); d1 = new Line( 2.0, 0.0, 3.0 ); d2 = new Line( 9.0, 0.0, 5.0 ); assertEquals( "P", d1.estSOPC( d2 ) ); assertEquals( "P", d2.estSOPC( d1 ) ); d1 = new Line( 0.0, 2.0, 3.0 ); d2 = new Line( 0.0, 9.0, 5.0 ); assertEquals( "P", d1.estSOPC( d2 ) ); assertEquals( "P", d2.estSOPC( d1 ) ); } // test3Paralleles() public void test4Orthogonales() { // O rthogonales d1 = new Line( 2.0, 2.0, 0.0 ); d2 = new Line( 1.0, -1.0, 1.0 ); assertEquals( "O", d1.estSOPC( d2 ) ); assertEquals( "O", d2.estSOPC( d1 ) ); d1 = new Line( 2.0, 0.0, 3.0 ); d2 = new Line( 0.0, 9.0, 5.0 ); assertEquals( "O", d1.estSOPC( d2 ) ); assertEquals( "O", d2.estSOPC( d1 ) ); } // test4Orthogonales() public void test5Secantes() { // S écantes d1 = new Line( 0.0, 1.0, -2.0 ); d2 = new Line( 1.0, -2.0, 0.0 ); assertEquals( "S", d1.estSOPC( d2 ) ); assertEquals( "S", d2.estSOPC( d1 ) ); } // test5Secantes() public void test6Precision() { // précision d1 = new Line( 1.23456789, 9.87654321, -8.0 ); d2 = new Line( 9.8765432, -1.2345678, -1.0 ); assertEquals( "On a dit : à 10-6 pres !\n\t", "O", d1.estSOPC( d2 ) ); assertEquals( "On a dit : à 10-6 pres !\n\t", "O", d2.estSOPC( d1 ) ); d1 = new Line( 1.23456789E-6, 9.87654321E-6, -8.0 ); d2 = new Line( 9.8765432E-6, -1.2345678E-6, -1.0 ); assertEquals( "Il faut penser aux tres petits nombres !\n\t", "O", d1.estSOPC( d2 ) ); assertEquals( "Il faut penser aux tres petits nombres !\n\t", "O", d2.estSOPC( d1 ) ); } // test6Precision() public void test7NonDroite() { // non-droites d1 = new Line( 0.0, 0.0, 9.0 ); d2 = new Line( 1.0, 1.0, 1.0 ); assertEquals( "Vous etes sur que "+d1+" est une droite ?\n\t", "?", d1.estSOPC( d2 ) ); assertEquals( "Vous etes sur que "+d1+" est une droite ?\n\t", "?", d2.estSOPC( d1 ) ); d1 = new Line( 0.0, 0.0, 0.0 ); assertEquals( "Vous etes sur que "+d1+" est une droite ?\n\t", "?", d1.estSOPC( d2 ) ); assertEquals( "Vous etes sur que "+d1+" est une droite ?\n\t", "?", d2.estSOPC( d1 ) ); } // test6NonDroite() public void test8String() { Line line1 = new Line(2.0, 2.0, 2.0); // remove all spaces assertEquals( "(2.0x+2.0y+2.0=0)", line1.toString().replaceAll("\\s","") ); Line line2 = new Line(-3.0, -3.0, -3.0); assertEquals( "(-3.0x-3.0y-3.0=0)", line2.toString().replaceAll("\\s","") ); Line line3 = new Line(0.0, 0.0, 0.0); assertEquals( "(0.0x+0.0y+0.0=0)", line3.toString().replaceAll("\\s","") ); } // test8String() } // TestLines