From ead47c02c44d608a5010499e2599f11d172743a0 Mon Sep 17 00:00:00 2001
From: arnaudlabourel <arnaud.labourel@univ-amu.fr>
Date: Tue, 9 Nov 2021 17:56:02 +0100
Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=202021?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 build.gradle                                  |  6 ++--
 src/main/java/image/AbstractImage.java        |  3 --
 src/main/java/image/BruteRasterImage.java     |  2 +-
 src/main/java/image/Image.java                |  3 --
 src/main/java/image/ImageFactory.java         |  3 --
 src/main/java/image/LogoLISFactory.java       |  4 +--
 .../java/image/NotSupportedException.java     |  3 --
 src/main/java/image/PaletteRasterImage.java   |  5 +--
 src/main/java/image/Pixel.java                | 19 ------------
 src/main/java/image/Point.java                |  6 +---
 src/main/java/image/RasterFlagFactory.java    | 31 +++++++++++--------
 src/main/java/image/RasterImage.java          | 10 ++----
 .../java/image/RasterUniformImageFactory.java |  8 ++---
 src/main/java/image/Rectangle.java            | 11 +++----
 src/main/java/image/SparseRasterImage.java    |  2 +-
 src/main/java/image/VectorImage.java          |  5 +--
 src/main/java/viewer/Main.java                |  3 +-
 src/test/java/BlankImageTest.java             | 15 +++++----
 18 files changed, 50 insertions(+), 89 deletions(-)
 delete mode 100644 src/main/java/image/Pixel.java

diff --git a/build.gradle b/build.gradle
index 0056f70..224d585 100644
--- a/build.gradle
+++ b/build.gradle
@@ -13,9 +13,9 @@ repositories {
 }
 
 dependencies {
-    testImplementation('org.junit.jupiter:junit-jupiter-api:5.7.2',
-            'org.hamcrest:hamcrest-library:2.2', 'net.obvj:junit-utils:1.3.1')
-    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.2'
+    testImplementation('org.junit.jupiter:junit-jupiter-api:5.8.1',
+            'org.assertj:assertj-core:3.21.0')
+    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
 }
 
 test {
diff --git a/src/main/java/image/AbstractImage.java b/src/main/java/image/AbstractImage.java
index 8eefeff..5f31996 100644
--- a/src/main/java/image/AbstractImage.java
+++ b/src/main/java/image/AbstractImage.java
@@ -2,9 +2,6 @@ package image;
 
 import javafx.scene.paint.Color;
 
-/**
- * Created by Arnaud Labourel on 23/11/2018.
- */
 public abstract class AbstractImage implements Image{
     private int width;
     private int height;
diff --git a/src/main/java/image/BruteRasterImage.java b/src/main/java/image/BruteRasterImage.java
index bf69d20..9a1f8a4 100644
--- a/src/main/java/image/BruteRasterImage.java
+++ b/src/main/java/image/BruteRasterImage.java
@@ -15,7 +15,7 @@ public class BruteRasterImage extends RasterImage {
     }
 
     @Override
-    public void createRepresentation() {
+    public void initializeRepresentation() {
         pixels = new Color[getWidth()][getHeight()];
     }
 
diff --git a/src/main/java/image/Image.java b/src/main/java/image/Image.java
index 5764c8a..01dcedc 100644
--- a/src/main/java/image/Image.java
+++ b/src/main/java/image/Image.java
@@ -2,9 +2,6 @@ package image;
 
 import javafx.scene.paint.Color;
 
-/**
- * Created by Arnaud Labourel on 09/11/2018.
- */
 public interface Image {
     Color getPixelColor(int x, int y);
     int getWidth();
diff --git a/src/main/java/image/ImageFactory.java b/src/main/java/image/ImageFactory.java
index fa2530d..fb48197 100644
--- a/src/main/java/image/ImageFactory.java
+++ b/src/main/java/image/ImageFactory.java
@@ -1,8 +1,5 @@
 package image;
 
-/**
- * Created by Arnaud Labourel on 23/11/2018.
- */
 public interface ImageFactory {
     Image makeImage();
 }
diff --git a/src/main/java/image/LogoLISFactory.java b/src/main/java/image/LogoLISFactory.java
index 671a5cd..d15c1fc 100644
--- a/src/main/java/image/LogoLISFactory.java
+++ b/src/main/java/image/LogoLISFactory.java
@@ -9,13 +9,13 @@ public class LogoLISFactory implements ImageFactory{
     @Override
     public Image makeImage() {
         Color dark = Color.rgb(35,31,32);
-        Color greenblue = Color.rgb(113,208,199);
+        Color greenBlue = Color.rgb(113,208,199);
 
         int[] xCoordinates = {60,  720, 660, 400, 0,   400, 660};
         int[] yCoordinates = {0,   60,  140, 0,   0,   140, 0};
         int[] widths =       {140, 140, 140, 60,  200, 60,  200};
         int[] heights =      {280, 80,  140, 80,  340, 200, 340};
-        Color[] colors = {Color.WHITE, Color.WHITE, Color.WHITE, greenblue, dark, dark, dark};
+        Color[] colors = {Color.WHITE, Color.WHITE, Color.WHITE, greenBlue, dark, dark, dark};
 
         List<Shape> list = new ArrayList<>();
 
diff --git a/src/main/java/image/NotSupportedException.java b/src/main/java/image/NotSupportedException.java
index 6f00bc3..95d677d 100644
--- a/src/main/java/image/NotSupportedException.java
+++ b/src/main/java/image/NotSupportedException.java
@@ -1,8 +1,5 @@
 package image;
 
-/**
- * Created by Arnaud Labourel on 25/11/2018.
- */
 class NotSupportedException extends RuntimeException {
     NotSupportedException(String message) {
         super(message);
diff --git a/src/main/java/image/PaletteRasterImage.java b/src/main/java/image/PaletteRasterImage.java
index c15fbb1..400e079 100644
--- a/src/main/java/image/PaletteRasterImage.java
+++ b/src/main/java/image/PaletteRasterImage.java
@@ -5,9 +5,6 @@ import javafx.scene.paint.Color;
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * Created by Arnaud Labourel on 23/11/2018.
- */
 public class PaletteRasterImage extends RasterImage {
 
     private List<Color> palette;
@@ -34,7 +31,7 @@ public class PaletteRasterImage extends RasterImage {
     }
 
     @Override
-    public void createRepresentation() {
+    public void initializeRepresentation() {
         palette = new ArrayList<>();
         indexesOfColors = new int[getWidth()][getHeight()];
     }
diff --git a/src/main/java/image/Pixel.java b/src/main/java/image/Pixel.java
deleted file mode 100644
index adbfdfa..0000000
--- a/src/main/java/image/Pixel.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package image;
-
-import javafx.scene.paint.Color;
-
-/**
- * Created by Arnaud Labourel on 09/11/2018.
- */
-public class Pixel extends Point{
-    private Color color;
-
-    Pixel(int x, int y, Color color) {
-        super(x, y);
-        this.color = color;
-    }
-
-    public Color getColor() {
-        return color;
-    }
-}
diff --git a/src/main/java/image/Point.java b/src/main/java/image/Point.java
index c8fd1e0..b441d16 100644
--- a/src/main/java/image/Point.java
+++ b/src/main/java/image/Point.java
@@ -2,9 +2,6 @@ package image;
 
 import java.util.Objects;
 
-/**
- * Created by Arnaud Labourel on 09/11/2018.
- */
 public class Point {
     public final int x, y;
 
@@ -16,8 +13,7 @@ public class Point {
     @Override
     public final boolean equals(Object o) {
         if (this == o) return true;
-        if (!(o instanceof Point)) return false;
-        Point point = (Point) o;
+        if (!(o instanceof Point point)) return false;
         return x == point.x &&
                 y == point.y;
     }
diff --git a/src/main/java/image/RasterFlagFactory.java b/src/main/java/image/RasterFlagFactory.java
index b4401aa..94627e9 100644
--- a/src/main/java/image/RasterFlagFactory.java
+++ b/src/main/java/image/RasterFlagFactory.java
@@ -4,12 +4,12 @@ import javafx.scene.paint.Color;
 
 public class RasterFlagFactory implements ImageFactory {
 
-    private int width;
-    private int height;
-    private Color leftColor;
-    private Color middleColor;
-    private Color rightColor;
-    private RasterImageType rasterImageType;
+    private final int width;
+    private final int height;
+    private final Color leftColor;
+    private final Color middleColor;
+    private final Color rightColor;
+    private final RasterImageType rasterImageType;
 
     public RasterFlagFactory(int width, int height, Color leftColor, Color middleColor, Color rightColor, RasterImageType rasterImageType) {
         this.width = width;
@@ -22,13 +22,7 @@ public class RasterFlagFactory implements ImageFactory {
 
     @Override
     public Image makeImage() {
-        Color[][] colors = new Color[width][height];
-
-        for (int x = 0; x < width; x++) {
-            for (int y = 0; y < height; y++) {
-                colors[x][y] = (x < width / 3) ? leftColor : ((x > 2 * width / 3) ? rightColor : middleColor);
-            }
-        }
+        Color[][] colors = initializeImageMatrix();
         switch (rasterImageType){
             case BRUTE:
                 return new BruteRasterImage(colors);
@@ -40,4 +34,15 @@ public class RasterFlagFactory implements ImageFactory {
                 throw new NotSupportedException(rasterImageType + " is not supported");
         }
     }
+
+    private Color[][] initializeImageMatrix() {
+        Color[][] colors = new Color[width][height];
+
+        for (int x = 0; x < width; x++) {
+            for (int y = 0; y < height; y++) {
+                colors[x][y] = (x < width / 3) ? leftColor : ((x > 2 * width / 3) ? rightColor : middleColor);
+            }
+        }
+        return colors;
+    }
 }
diff --git a/src/main/java/image/RasterImage.java b/src/main/java/image/RasterImage.java
index d337d8a..80f8cc9 100644
--- a/src/main/java/image/RasterImage.java
+++ b/src/main/java/image/RasterImage.java
@@ -3,9 +3,6 @@ package image;
 import javafx.scene.paint.Color;
 import util.Matrices;
 
-/**
- * Created by Arnaud Labourel on 23/11/2018.
- */
 public abstract class RasterImage extends AbstractImage {
 
     RasterImage(Color[][] colors) {
@@ -17,20 +14,19 @@ public abstract class RasterImage extends AbstractImage {
         setWidth(Matrices.getRowCount(colors));
         setHeight(Matrices.getColumnCount(colors));
 
-        createRepresentation();
+        initializeRepresentation();
         setPixelsColor(colors);
     }
 
     RasterImage(Color color, int width, int height) {
         super(width, height);
-
-        createRepresentation();
+        initializeRepresentation();
         setPixelsColor(color);
     }
 
     public abstract void setPixelColor(Color color, int x , int y);
 
-    public abstract void createRepresentation();
+    public abstract void initializeRepresentation();
 
     private void setPixelsColor(Color[][] pixels){
         for(int x = 0; x<getWidth(); x++)
diff --git a/src/main/java/image/RasterUniformImageFactory.java b/src/main/java/image/RasterUniformImageFactory.java
index 4e7bcd6..3639736 100644
--- a/src/main/java/image/RasterUniformImageFactory.java
+++ b/src/main/java/image/RasterUniformImageFactory.java
@@ -4,10 +4,10 @@ import javafx.scene.paint.Color;
 
 
 public class RasterUniformImageFactory implements ImageFactory {
-    private int width;
-    private int height;
-    private Color color;
-    private RasterImageType rasterImageType;
+    private final int width;
+    private final int height;
+    private final Color color;
+    private final RasterImageType rasterImageType;
 
     public RasterUniformImageFactory(int width, int height, Color color, RasterImageType rasterImageType) {
         this.width = width;
diff --git a/src/main/java/image/Rectangle.java b/src/main/java/image/Rectangle.java
index 917c30f..27d7c2a 100644
--- a/src/main/java/image/Rectangle.java
+++ b/src/main/java/image/Rectangle.java
@@ -2,14 +2,11 @@ package image;
 
 import javafx.scene.paint.Color;
 
-/**
- * Created by Arnaud Labourel on 23/11/2018.
- */
 public class Rectangle implements Shape {
-    private int x;
-    private int y;
-    private int width;
-    private int height;
+    private final int x;
+    private final int y;
+    private final int width;
+    private final int height;
     Color color;
 
     Rectangle(int x, int y, int width, int height, Color color) {
diff --git a/src/main/java/image/SparseRasterImage.java b/src/main/java/image/SparseRasterImage.java
index c10478c..e21f91e 100644
--- a/src/main/java/image/SparseRasterImage.java
+++ b/src/main/java/image/SparseRasterImage.java
@@ -32,7 +32,7 @@ public class SparseRasterImage extends RasterImage{
     }
 
     @Override
-    public void createRepresentation() {
+    public void initializeRepresentation() {
         pixelsMap = new HashMap<>();
     }
 }
diff --git a/src/main/java/image/VectorImage.java b/src/main/java/image/VectorImage.java
index a53495c..6aa2290 100644
--- a/src/main/java/image/VectorImage.java
+++ b/src/main/java/image/VectorImage.java
@@ -9,7 +9,7 @@ import java.util.List;
  */
 public class VectorImage extends AbstractImage {
 
-    private List<Shape> shapes;
+    private final List<Shape> shapes;
 
     VectorImage(List<Shape> shapes, int width, int height) {
         super(width, height);
@@ -18,8 +18,9 @@ public class VectorImage extends AbstractImage {
 
     @Override
     public Color getPixelColor(int x, int y) {
+        Point point = new Point(x, y);
         for(Shape shape : shapes){
-            if(shape.contains(new Point(x,y)))
+            if(shape.contains(point))
                 return shape.getColor();
         }
         return Color.WHITE;
diff --git a/src/main/java/viewer/Main.java b/src/main/java/viewer/Main.java
index c6c8fed..da5c52b 100644
--- a/src/main/java/viewer/Main.java
+++ b/src/main/java/viewer/Main.java
@@ -7,6 +7,7 @@ import javafx.scene.Scene;
 import javafx.stage.Stage;
 
 import java.io.IOException;
+import java.util.Objects;
 
 
 public class Main extends Application
@@ -18,7 +19,7 @@ public class Main extends Application
 
     @Override
     public void start(Stage primaryStage) throws IOException {
-        Parent root =FXMLLoader.load(getClass().getClassLoader().getResource("fxml/Display.fxml"));
+        Parent root =FXMLLoader.load(Objects.requireNonNull(getClass().getClassLoader().getResource("fxml/Display.fxml")));
         primaryStage.setTitle("Image display");
         primaryStage.setScene(new Scene(root));
         primaryStage.show();
diff --git a/src/test/java/BlankImageTest.java b/src/test/java/BlankImageTest.java
index b703078..b116824 100644
--- a/src/test/java/BlankImageTest.java
+++ b/src/test/java/BlankImageTest.java
@@ -1,29 +1,28 @@
 import image.BlankImage;
 import javafx.scene.paint.Color;
-import org.junit.jupiter.api.Test;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.*;
 
+import org.junit.jupiter.api.Test;
+import static org.assertj.core.api.Assertions.assertThat;
 
 public class BlankImageTest {
   @Test
   public void testBlankImageGetWidth(){
     BlankImage blankImage = new BlankImage(200, 300);
-    assertThat(blankImage.getWidth(), is(equalTo(200)));
+    assertThat(blankImage.getWidth()).isEqualTo(200);
   }
 
   @Test
   public void testBlankImageGetHeight(){
     BlankImage blankImage = new BlankImage(200, 300);
-    assertThat(blankImage.getHeight(), is(equalTo(300)));
+    assertThat(blankImage.getHeight()).isEqualTo(300);
   }
 
   @Test
   public void testBlankImageGetPixelColor(){
     BlankImage blankImage = new BlankImage(200, 300);
-    assertThat(blankImage.getPixelColor(0,0), is(equalTo(Color.WHITE)));
-    assertThat(blankImage.getPixelColor(100,100), is(equalTo(Color.WHITE)));
-    assertThat(blankImage.getPixelColor(199,299), is(equalTo(Color.WHITE)));
+    assertThat(blankImage.getPixelColor(0,0)).isEqualTo(Color.WHITE);
+    assertThat(blankImage.getPixelColor(100,100)).isEqualTo(Color.WHITE);
+    assertThat(blankImage.getPixelColor(199,299)).isEqualTo(Color.WHITE);
   }
 
 }
-- 
GitLab