Coverage Summary for Class: Ex2Rectangle (io.github.lyes_sefiane)

Class Class, % Method, % Branch, % Line, %
Ex2Rectangle 0% (0/1) 0% (0/8) 0% (0/14) 0% (0/40)


 package io.github.lyes_sefiane;
 
 import io.github.lyes_sefiane.model.Rectangle;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
 /**
  * @course : IFT 1170 Java Programming and Applications
  * @university : University of Montreal
  * @teacher : Van Nguyen Le
  * @email : van.nguyen.le@umontreal.ca
  * @student : Sefiane, Lyes
  * @matricule : 20090833
  * @email : lyes.sefiane@umontreal.ca
  * @email : lyes.sefiane@gmail.com
  * @date : 2017-04-19
  */
 public class Ex2Rectangle {
 
     private static final Logger logger = LogManager.getLogger(Ex2Rectangle.class);
 
     static void demo1() {
 
         logger.info("Démonstration numéro 1 : ");
 
         Rectangle rect1 = new Rectangle(7.8, 3.5);
         rect1.afficher("premier rectangle");
 
         Rectangle rect2 = new Rectangle();
         rect2.afficher("rect2");
 
         Rectangle rect3 = new Rectangle(4.1);
         rect3.afficher("troisieme rectangle");
 
         rect1.setLargeur(2 * rect1.getLargeur());
         rect1.afficher("rect1 apres avoir double sa largeur");
 
         rect1.plusLong(rect3).afficher("rectangle ayant le périmètre le plus long entre rect1 et rect3");
     }
 
     static void afficher(Rectangle[] rect, int nbRect, String mess) {
         logger.info("Infos des rectangles {} : ", mess);
         logger.info("largeur longueur périmètre surface diagonale");
 
         for (int i = 0; i < nbRect; i++) {
             logger.info("{} ", rect[i]);
         }
     }
 
     static int indMaxLongueur(Rectangle[] rect, int nbRect) {
         int indPG = 0;
         for (int i = 1; i < nbRect; i++)
             if (rect[i].getLongueur() > rect[indPG].getLongueur())
                 indPG = i;
         return indPG;
     }
 
     static void trier(Rectangle[] rect, int nbRect) {
         for (int i = 0; i < nbRect - 1; i++) {
             int indMin = i;
             for (int j = i + 1; j < nbRect; j++)
                 if (rect[j].surface() < rect[indMin].surface())
                     indMin = j;
             if (indMin != i) {
                 Rectangle tempo = rect[i];
                 rect[i] = rect[indMin];
                 rect[indMin] = tempo;
             }
         }
     }
 
     static void demo2() {
 
         logger.info("Démonstration numéro 2 : ");
 
         Rectangle[] rect = {new Rectangle(6.3, 4.7), new Rectangle(5.1, 4.6), new Rectangle(7.3, 2.8),
                 new Rectangle(4.2), new Rectangle(), new Rectangle(4.7, 3.1)};
         int nbRect = rect.length;
 
         afficher(rect, nbRect, "avant le tri");
 
         int k = indMaxLongueur(rect, nbRect);
         logger.info("Rectangle ayant la plus grande longueur : {}", rect[k]);
 
         trier(rect, nbRect);
         afficher(rect, nbRect, "après le tri selon les surfaces");
     }
 
     public static void main(String[] args) {
         demo1();
         demo2();
     }
 }
 
 /*
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:23 - Démonstration numéro 1 :
  * 2025-05-28 15:21:13 INFO  Rectangle:68 - Informations de premier rectangle :
  * 2025-05-28 15:21:13 INFO  Rectangle:69 -   - longueur  : 7.8
  * 2025-05-28 15:21:13 INFO  Rectangle:70 -   - largeur   : 3.5
  * 2025-05-28 15:21:13 INFO  Rectangle:71 -   - perimetre : 22.6
  * 2025-05-28 15:21:13 INFO  Rectangle:72 -   - surface   : 27.3
  * 2025-05-28 15:21:13 INFO  Rectangle:73 -   - diagonale : 8.5492689745966
  * 2025-05-28 15:21:13 INFO  Rectangle:68 - Informations de rect2 :
  * 2025-05-28 15:21:13 INFO  Rectangle:69 -   - longueur  : 5.8
  * 2025-05-28 15:21:13 INFO  Rectangle:70 -   - largeur   : 3.5
  * 2025-05-28 15:21:13 INFO  Rectangle:71 -   - perimetre : 18.6
  * 2025-05-28 15:21:13 INFO  Rectangle:72 -   - surface   : 20.3
  * 2025-05-28 15:21:13 INFO  Rectangle:73 -   - diagonale : 6.774215821775979
  * 2025-05-28 15:21:13 INFO  Rectangle:68 - Informations de troisieme rectangle :
  * 2025-05-28 15:21:13 INFO  Rectangle:69 -   - longueur  : 4.1
  * 2025-05-28 15:21:13 INFO  Rectangle:70 -   - largeur   : 4.1
  * 2025-05-28 15:21:13 INFO  Rectangle:71 -   - perimetre : 16.4
  * 2025-05-28 15:21:13 INFO  Rectangle:72 -   - surface   : 16.81
  * 2025-05-28 15:21:13 INFO  Rectangle:73 -   - diagonale : 5.79827560572969
  * 2025-05-28 15:21:13 INFO  Rectangle:68 - Informations de rect1 apres avoir double sa largeur :
  * 2025-05-28 15:21:13 INFO  Rectangle:69 -   - longueur  : 7.8
  * 2025-05-28 15:21:13 INFO  Rectangle:70 -   - largeur   : 7.0
  * 2025-05-28 15:21:13 INFO  Rectangle:71 -   - perimetre : 29.6
  * 2025-05-28 15:21:13 INFO  Rectangle:72 -   - surface   : 54.6
  * 2025-05-28 15:21:13 INFO  Rectangle:73 -   - diagonale : 10.480458005259122
  * 2025-05-28 15:21:13 INFO  Rectangle:68 - Informations de rectangle ayant le périmètre le plus long entre rect1 et rect3 :
  * 2025-05-28 15:21:13 INFO  Rectangle:69 -   - longueur  : 7.8
  * 2025-05-28 15:21:13 INFO  Rectangle:70 -   - largeur   : 7.0
  * 2025-05-28 15:21:13 INFO  Rectangle:71 -   - perimetre : 29.6
  * 2025-05-28 15:21:13 INFO  Rectangle:72 -   - surface   : 54.6
  * 2025-05-28 15:21:13 INFO  Rectangle:73 -   - diagonale : 10.480458005259122
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:73 - Démonstration numéro 2 :
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:41 - Infos des rectangles avant le tri :
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:42 - largeur longueur périmètre surface diagonale
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  4.7 |    6.3 |  22.00 |   29.6 |    7.9>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  4.6 |    5.1 |  19.40 |   23.5 |    6.9>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  2.8 |    7.3 |  20.20 |   20.4 |    7.8>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  4.2 |    4.2 |  16.80 |   17.6 |    5.9>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  3.5 |    5.8 |  18.60 |   20.3 |    6.8>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  3.1 |    4.7 |  15.60 |   14.6 |    5.6>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:82 - Rectangle ayant la plus grande longueur : <  2.8 |    7.3 |  20.20 |   20.4 |    7.8>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:41 - Infos des rectangles après le tri selon les surfaces :
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:42 - largeur longueur périmètre surface diagonale
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  3.1 |    4.7 |  15.60 |   14.6 |    5.6>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  4.2 |    4.2 |  16.80 |   17.6 |    5.9>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  3.5 |    5.8 |  18.60 |   20.3 |    6.8>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  2.8 |    7.3 |  20.20 |   20.4 |    7.8>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  4.6 |    5.1 |  19.40 |   23.5 |    6.9>
  * 2025-05-28 15:21:13 INFO  Ex2Rectangle:45 - <  4.7 |    6.3 |  22.00 |   29.6 |    7.9>
  * <p>
  * Process finished with exit code 0
  */