Vecteur implements Cloneable { public double getAngle() { double resultat = 0.0; if (getY() == 0) { resultat = 0; } else if (getY() > 0) { resultat = Math.PI / 2; } else { resultat = 3 * Math.PI / 2; } resultat = Math.atan(getY() / getX()); if (x < 0.0 && y < 0.0) { resultat += Math.PI; } else if (y < 0.0 && x > 0.0) { resultat += Math.PI * 2; } else if (x < 0.0) { resultat += Math.PI; } while (resultat > 2 * Math.PI) { resultat -= Math.PI; } return resultat; } Vecteur();  Vecteur(double x, double y); void setX(double x); void setY(double y); double getX(); double getY(); double getAngle(); void setAngle(double a); double getNorme(); void setGrandeur(double pGrandeur); Vecteur additionner(Vecteur v); Vecteur soustraire(Vecteur v); Vecteur multiplication(double s); double multiplication(Vecteur v); Vecteur normaliser(); Vecteur clone();  }
@Test public void testGetAngle() { assertEquals(0, v1.getAngle(), 0.0001); assertEquals(Math.PI / 4, v2.getAngle(), 0.0001); Vecteur aPI2 = new Vecteur(0, 1); assertEquals(Math.PI / 2, aPI2.getAngle(), 0.0001); Vecteur a3PI2 = new Vecteur(0, -1); assertEquals(3 * Math.PI / 2, a3PI2.getAngle(), 0.0001); Vecteur aPI4 = new Vecteur(1, 1); assertEquals(Math.PI / 4, aPI4.getAngle(), 0.0001); Vecteur a3PI4 = new Vecteur(-1, 1); assertEquals(3 * Math.PI / 4, a3PI4.getAngle(), 0.0001); Vecteur a5PI4 = new Vecteur(-1, -1); assertEquals(5 * Math.PI / 4, a5PI4.getAngle(), 0.0001); Vecteur a7PI4 = new Vecteur(1, -1); assertEquals(7 * Math.PI / 4, a7PI4.getAngle(), 0.0001); }