From 7bccd77c4eba78ba9e552ca64df08a81eef322e8 Mon Sep 17 00:00:00 2001
From: dragapsy <elghaoutiayman20@gmail.com>
Date: Fri, 18 Nov 2022 22:22:47 +0100
Subject: [PATCH] =?UTF-8?q?Tache=205=20(La=20methode=20next()=20de=20la=20?=
 =?UTF-8?q?classe=20ColoredCellIterator)=20-Test=20pass=C3=A9=20avec=20suc?=
 =?UTF-8?q?c=C3=A9s-.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/src/main/java/model/ColoredCellIterator.java   | 14 +++++++++++---
 app/src/main/java/model/GrayCell.java              |  5 +++++
 .../test/java/model/ColoredCellIteratorTest.java   | 14 ++++++++++----
 3 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/app/src/main/java/model/ColoredCellIterator.java b/app/src/main/java/model/ColoredCellIterator.java
index 12679d2..558bb64 100644
--- a/app/src/main/java/model/ColoredCellIterator.java
+++ b/app/src/main/java/model/ColoredCellIterator.java
@@ -1,6 +1,7 @@
 package model;
 
 import javafx.scene.paint.Color;
+import util.SetUtil;
 
 import java.awt.*;
 import java.util.HashSet;
@@ -26,11 +27,18 @@ public class ColoredCellIterator implements Iterator<Cell> {
     @Override
     public boolean hasNext() {
         boolean expression=!(this.pendingCells.isEmpty());
-        return expression;    
+        return expression;
     }
 
     @Override
     public Cell next() {
-        return null;
-    }
+        Cell Cell = SetUtil.anyElement(this.pendingCells);
+        this.pendingCells.remove(Cell);
+        this.visitedCells.add(Cell);
+        for (Cell neighbour : Cell.getNeighbours()){
+            if (Cell.getColor() == neighbour.getColor() && !(this.visitedCells.contains(neighbour))){
+                this.pendingCells.add(neighbour);
+            }
+        }
+        return Cell;    }
 }
diff --git a/app/src/main/java/model/GrayCell.java b/app/src/main/java/model/GrayCell.java
index 8007887..80d9a70 100644
--- a/app/src/main/java/model/GrayCell.java
+++ b/app/src/main/java/model/GrayCell.java
@@ -3,6 +3,7 @@ package model;
 import javafx.beans.property.Property;
 import javafx.scene.paint.Color;
 
+import java.util.Iterator;
 import java.util.List;
 
 public class GrayCell extends AbstractCell{
@@ -27,7 +28,11 @@ public class GrayCell extends AbstractCell{
      */
     @Override
     public void setNeighbours(List<Cell> cells) {
+    }
 
+    @Override
+    public Iterator<Cell> iterator() {
+        return null;
     }
 
     @Override
diff --git a/app/src/test/java/model/ColoredCellIteratorTest.java b/app/src/test/java/model/ColoredCellIteratorTest.java
index 4e55550..67a4966 100644
--- a/app/src/test/java/model/ColoredCellIteratorTest.java
+++ b/app/src/test/java/model/ColoredCellIteratorTest.java
@@ -11,8 +11,6 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 class ColoredCellIteratorTest {
 
-    // TODO
-    //  uncomment
     /*
      * +---+---+---+
      * | R | B | R |
@@ -23,7 +21,15 @@ class ColoredCellIteratorTest {
      * +---+---+---+
      */
 
-  /*  private static ArrayGrid gridThreeThree = new ArrayGrid(3,3);
+   private static ArrayGrid gridThreeThree;
+
+    static {
+        try {
+            gridThreeThree = new ArrayGrid(3,3);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 
     @BeforeAll
     private static void initializeColorsGrid(){
@@ -56,5 +62,5 @@ class ColoredCellIteratorTest {
         assertThat(fromIteratorCells).hasSameElementsAs(expectedBlackCells).hasSameSizeAs(expectedBlackCells);
 
     }
-   */
+
 }
\ No newline at end of file
-- 
GitLab