diff --git a/src/main/java/ByteGrayColor.java b/src/main/java/ByteGrayColor.java index 1ae5455dc031bb6bdaafc42761db11c3a9ed784e..e7783125b9e5b4be4a377b743b1e4ff670af659a 100644 --- a/src/main/java/ByteGrayColor.java +++ b/src/main/java/ByteGrayColor.java @@ -10,8 +10,15 @@ public class ByteGrayColor implements GrayColor { private static final int MAXIMUM_GRAY_LEVEL = 255; private static final int OPACITY = 1; + // TODO : rajouter constantes publique BLACK et WHITE + private final int grayLevel; + + public ByteGrayColor(){ + this.grayLevel = MINIMUM_GRAY_LEVEL; + } + public ByteGrayColor(int grayLevel) { // TODO : Corriger l'initialisation de la propriété grayLevel de l'instance. this.grayLevel = 0; diff --git a/src/test/java/ByteGrayColorTest.java b/src/test/java/ByteGrayColorTest.java index 5837aa12d26479d5c4380349d42cc8c2e546cad7..ce60ed89f0043dbb8f1878ae9ae4448c0a182034 100644 --- a/src/test/java/ByteGrayColorTest.java +++ b/src/test/java/ByteGrayColorTest.java @@ -18,4 +18,37 @@ public class ByteGrayColorTest { assertThat(color1.getLuminosity()).isCloseTo(.25, within(.01)); assertThat(color2.getLuminosity()).isCloseTo(.75, within(.01)); } -} \ No newline at end of file + + @Test + public void testCompareTo_whenColorsCreatedWithGrayLevel(){ + ByteGrayColor color1 = new ByteGrayColor(100); + ByteGrayColor color2 = new ByteGrayColor(100); + ByteGrayColor color3 = new ByteGrayColor(150); + assertThat(color1.compareTo(color3)).isNegative(); + assertThat(color3.compareTo(color1)).isPositive(); + assertThat(color1.compareTo(color3)).isEqualTo(-(color3.compareTo(color1))); + assertThat(color1.compareTo(color2)).isZero(); + } + + @Test + public void testCompareTo_whenColorsCreatedWithLuminosity(){ + ByteGrayColor color1 = new ByteGrayColor(0.20); + ByteGrayColor color2 = new ByteGrayColor(0.20); + ByteGrayColor color3 = new ByteGrayColor(0.60); + assertThat(color1.compareTo(color3)).isNegative(); + assertThat(color3.compareTo(color1)).isPositive(); + assertThat(color1.compareTo(color3)).isEqualTo(-(color3.compareTo(color1))); + assertThat(color1.compareTo(color2)).isZero(); + } + + @Test + public void testCompareTo_whenColorsCreatedWithLuminosityAndGrayLevel(){ + ByteGrayColor color1 = new ByteGrayColor(0.); + ByteGrayColor color2 = new ByteGrayColor(0); + ByteGrayColor color3 = new ByteGrayColor(100); + assertThat(color1.compareTo(color3)).isNegative(); + assertThat(color3.compareTo(color1)).isPositive(); + assertThat(color1.compareTo(color3)).isEqualTo(-(color3.compareTo(color1))); + assertThat(color1.compareTo(color2)).isZero(); + } +} diff --git a/src/test/java/MatrixGrayImageTest.java b/src/test/java/MatrixGrayImageTest.java index 82c2ec9cc84206712d76b500a062384b2ede3c9a..72e61003a07e683217990f7025cddb57a974730d 100644 --- a/src/test/java/MatrixGrayImageTest.java +++ b/src/test/java/MatrixGrayImageTest.java @@ -5,16 +5,27 @@ import static org.assertj.core.api.Assertions.*; class MatrixGrayImageTest { @Test - void getWidth() { + void testGetWidth() { assertThat(new MatrixGrayImage(0,0).getWidth()).isEqualTo(0); assertThat(new MatrixGrayImage(10,20).getWidth()).isEqualTo(10); assertThat(new MatrixGrayImage(400,300).getWidth()).isEqualTo(400); } @Test - void getHeight() { + void testGetHeight() { assertThat(new MatrixGrayImage(0,0).getHeight()).isEqualTo(0); assertThat(new MatrixGrayImage(10,20).getHeight()).isEqualTo(20); assertThat(new MatrixGrayImage(400,300).getHeight()).isEqualTo(300); } + + @Test + void testGetPixel_whenPixelHasBeenSet() { + GrayColor grey1 = new ByteGrayColor(0.2); + GrayColor grey2 = new ByteGrayColor(0.8); + MatrixGrayImage image = new MatrixGrayImage(10, 10); + image.setPixel(grey1, 1, 1); + assertThat(image.getPixelGrayColor(1,1)).isEqualTo(grey1); + image.setPixel(grey2, 3, 9); + assertThat(image.getPixelGrayColor(3,9)).isEqualTo(grey2); + } } \ No newline at end of file