package line_v1; /** * 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() ); } // test0Minimal() public void test2Colineaires() { // C onfondues d1 = new Line( 1.0, 2.0, 3.0 ); d2 = new Line( 3.0, 6.0, 9.0 ); assertEquals( "L", d1.estSOL( d2 ) ); assertEquals( "L", d2.estSOL( d1 ) ); } // test2Colineaires() public void test3Colineaires() { // P arallèles d1 = new Line( 1.0, 2.0, -3.0 ); d2 = new Line( 3.0, 6.0, -3.0 ); assertEquals( "L", d1.estSOL( d2 ) ); assertEquals( "L", d2.estSOL( d1 ) ); } // test3Colineaires() 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.estSOL( d2 ) ); assertEquals( "O", d2.estSOL( 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.estSOL( d2 ) ); assertEquals( "S", d2.estSOL( d1 ) ); } // test5Secantes() 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","") ); } public void testN7NonDroite() { // non-droites d1 = new Line( 0.0, 0.0, 9.0 ); d2 = new Line( 1.0, 1.0, 1.0 ); Boolean sopc = "?" == d1.estSOL( d2 ); assertFalse( "test non droite prevu pour la v4 !\n\t", sopc ); sopc = "?" == d2.estSOL( d1 ); assertFalse( "test non droite prevu pour la v4 !\n\t", sopc ); d1 = new Line( 0.0, 0.0, 0.0 ); sopc = "?" == d1.estSOL( d2 ); assertFalse( "test non droite prevu pour la v4 !\n\t", sopc ); sopc = "?" == d2.estSOL( d1 ); assertFalse( "test non droite prevu pour la v4 !\n\t", sopc ); } // testN7NonDroite() public void testN6Precision() { // precision d1 = new Line( 1.23456789, 9.87654321, -8.0 ); d2 = new Line( 9.8765432, -1.2345678, -1.0 ); assertEquals( "comparaison a 10-6 pres prevue pour la v5 !\n\t", "S", d1.estSOL( d2 ) ); assertEquals( "comparaison a 10-6 pres prevue pour la v5 !\n\t", "S", d2.estSOL( d1 ) ); } // testN6Precision() } // TestLines