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