From 815b510c174f8665ada9578ae060e13ab55a180f Mon Sep 17 00:00:00 2001
From: b21221851 <mohamed-amine.BEL-KHALIFA@etu.univ-amu.fr>
Date: Wed, 9 Nov 2022 12:50:16 +0100
Subject: [PATCH] RandomUtil 2

---
 .../main/java/model/CyclicColorGenerator.java |  17 +++
 app/src/main/java/model/GrayGrid.java         |  16 ++-
 .../java/model/UniformExceptOneGenerator.java |  15 +++
 .../java/model/ColoredCellIteratorTest.java   | 118 +++++++++---------
 4 files changed, 104 insertions(+), 62 deletions(-)
 create mode 100644 app/src/main/java/model/CyclicColorGenerator.java
 create mode 100644 app/src/main/java/model/UniformExceptOneGenerator.java

diff --git a/app/src/main/java/model/CyclicColorGenerator.java b/app/src/main/java/model/CyclicColorGenerator.java
new file mode 100644
index 0000000..121ec58
--- /dev/null
+++ b/app/src/main/java/model/CyclicColorGenerator.java
@@ -0,0 +1,17 @@
+package model;
+import javafx.scene.paint.Color;
+import java.util.List;
+
+public class CyclicColorGenerator implements ColorGenerator {
+    public ArrayGrid grid;
+    List<Color> colors;
+
+    public CyclicColorGenerator(List<Color> colors) {
+        this.colors=colors;
+    }
+
+    @Override
+    public Color nextColor(Cell cell) {
+        return null;
+    }
+}
diff --git a/app/src/main/java/model/GrayGrid.java b/app/src/main/java/model/GrayGrid.java
index 42a49eb..b7b1391 100644
--- a/app/src/main/java/model/GrayGrid.java
+++ b/app/src/main/java/model/GrayGrid.java
@@ -3,11 +3,11 @@ package model;
 public class GrayGrid implements Grid{
 
     private final int numberOfRows;
-    private final int numnberOfColumns;
+    private final int numberOfColumns;
 
     public GrayGrid(int numberOfRows, int numberOfColumns){
         this.numberOfRows = numberOfRows;
-        this.numnberOfColumns = numberOfColumns;
+        this.numberOfColumns = numberOfColumns;
     }
     /**
      * Return the cell located at the given coordinates in the grid.
@@ -38,11 +38,21 @@ public class GrayGrid implements Grid{
      */
     @Override
     public int getNumberOfColumns() {
-        return numnberOfColumns;
+        return numberOfColumns;
     }
 
     @Override
     public void color(ColorGenerator colorGenerator) {
 
     }
+
+    @Override
+    public boolean hasNext() {
+        return false;
+    }
+
+    @Override
+    public Cell next() {
+        return null;
+    }
 }
diff --git a/app/src/main/java/model/UniformExceptOneGenerator.java b/app/src/main/java/model/UniformExceptOneGenerator.java
new file mode 100644
index 0000000..0320414
--- /dev/null
+++ b/app/src/main/java/model/UniformExceptOneGenerator.java
@@ -0,0 +1,15 @@
+package model;
+
+import javafx.scene.paint.Color;
+
+public class UniformExceptOneGenerator implements ColorGenerator {
+    public UniformExceptOneGenerator(Color uniformColor, Color exceptionColor) {
+
+
+    }
+
+    @Override
+    public Color nextColor(Cell cell) {
+        return null;
+    }
+}
diff --git a/app/src/test/java/model/ColoredCellIteratorTest.java b/app/src/test/java/model/ColoredCellIteratorTest.java
index bd0bb10..c6d41c2 100644
--- a/app/src/test/java/model/ColoredCellIteratorTest.java
+++ b/app/src/test/java/model/ColoredCellIteratorTest.java
@@ -1,59 +1,59 @@
-//package model;
-//
-//import javafx.scene.paint.Color;
-//import org.junit.jupiter.api.BeforeAll;
-//import org.junit.jupiter.api.Test;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//
-//import static org.assertj.core.api.Assertions.assertThat;
-//
-//class ColoredCellIteratorTest {
-//
-//
-//    /*
-//     * +---+---+---+
-//     * | R | B | R |
-//     * +---+---+---|
-//     * | R | R | B |
-//     * |---+---+---+
-//     * | B | B | R |
-//     * +---+---+---+
-//     */
-//
-//    private static ArrayGrid gridThreeThree = new ArrayGrid(3,3);
-//
-//    @BeforeAll
-//    private static void initializeColorsGrid(){
-//        gridThreeThree.getCell(0,0).setColor(Color.RED);
-//        gridThreeThree.getCell(0,1).setColor(Color.BLACK);
-//        gridThreeThree.getCell(0,2).setColor(Color.RED);
-//        gridThreeThree.getCell(1,0).setColor(Color.RED);
-//        gridThreeThree.getCell(1,1).setColor(Color.RED);
-//        gridThreeThree.getCell(1,2).setColor(Color.BLACK);
-//        gridThreeThree.getCell(2,0).setColor(Color.BLACK);
-//        gridThreeThree.getCell(2,1).setColor(Color.BLACK);
-//        gridThreeThree.getCell(2,2).setColor(Color.RED);
-//    }
-//
-//    @Test
-//    void testIterator() {
-//        ColoredCellIterator redCellIterator = new ColoredCellIterator(gridThreeThree.getCell(0,0));
-//        List<Cell> expectedRedCells = List.of(gridThreeThree.getCell(0,0),
-//                gridThreeThree.getCell(1,0),
-//                gridThreeThree.getCell(1,1));
-//        List<Cell> fromIteratorCells = new ArrayList<>();
-//        for(;redCellIterator.hasNext();) fromIteratorCells.add(redCellIterator.next());
-//        assertThat(fromIteratorCells).hasSameElementsAs(expectedRedCells).hasSameSizeAs(expectedRedCells);
-//
-//        ColoredCellIterator blackCellIterator = new ColoredCellIterator(gridThreeThree.getCell(2,1));
-//        List<Cell> expectedBlackCells = List.of(gridThreeThree.getCell(2,0),
-//                gridThreeThree.getCell(2,1));
-//        fromIteratorCells = new ArrayList<>();
-//        for( ; blackCellIterator.hasNext(); ) fromIteratorCells.add(blackCellIterator.next());
-//        assertThat(fromIteratorCells).hasSameElementsAs(expectedBlackCells).hasSameSizeAs(expectedBlackCells);
-//
-//    }
-//
-//}
\ No newline at end of file
+package model;
+
+import javafx.scene.paint.Color;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+class ColoredCellIteratorTest {
+
+
+    /*
+     * +---+---+---+
+     * | R | B | R |
+     * +---+---+---|
+     * | R | R | B |
+     * |---+---+---+
+     * | B | B | R |
+     * +---+---+---+
+     */
+
+    private static ArrayGrid gridThreeThree = new ArrayGrid(3,3);
+
+    @BeforeAll
+    private static void initializeColorsGrid(){
+        gridThreeThree.getCell(0,0).setColor(Color.RED);
+        gridThreeThree.getCell(0,1).setColor(Color.BLACK);
+        gridThreeThree.getCell(0,2).setColor(Color.RED);
+        gridThreeThree.getCell(1,0).setColor(Color.RED);
+        gridThreeThree.getCell(1,1).setColor(Color.RED);
+        gridThreeThree.getCell(1,2).setColor(Color.BLACK);
+        gridThreeThree.getCell(2,0).setColor(Color.BLACK);
+        gridThreeThree.getCell(2,1).setColor(Color.BLACK);
+        gridThreeThree.getCell(2,2).setColor(Color.RED);
+    }
+
+    @Test
+    void testIterator() {
+        ColoredCellIterator redCellIterator = new ColoredCellIterator(gridThreeThree.getCell(0,0));
+        List<Cell> expectedRedCells = List.of(gridThreeThree.getCell(0,0),
+                gridThreeThree.getCell(1,0),
+                gridThreeThree.getCell(1,1));
+        List<Cell> fromIteratorCells = new ArrayList<>();
+        for(;redCellIterator.hasNext();) fromIteratorCells.add(redCellIterator.next());
+        assertThat(fromIteratorCells).hasSameElementsAs(expectedRedCells).hasSameSizeAs(expectedRedCells);
+
+        ColoredCellIterator blackCellIterator = new ColoredCellIterator(gridThreeThree.getCell(2,1));
+        List<Cell> expectedBlackCells = List.of(gridThreeThree.getCell(2,0),
+                gridThreeThree.getCell(2,1));
+        fromIteratorCells = new ArrayList<>();
+        for( ; blackCellIterator.hasNext(); ) fromIteratorCells.add(blackCellIterator.next());
+        assertThat(fromIteratorCells).hasSameElementsAs(expectedBlackCells).hasSameSizeAs(expectedBlackCells);
+
+    }
+
+}
\ No newline at end of file
-- 
GitLab