From ae0a76b9faede92cd34c4fcf66c8fc0440efee4c Mon Sep 17 00:00:00 2001
From: Thomas Fabre <tfabre@takima.fr>
Date: Fri, 23 Jun 2023 13:25:49 +0200
Subject: [PATCH] Refactor ones with Roll

---
 src/main/java/io/takima/Yatzy.java     | 21 ++-------------------
 src/test/java/io/takima/YatzyTest.java |  8 ++++----
 2 files changed, 6 insertions(+), 23 deletions(-)

diff --git a/src/main/java/io/takima/Yatzy.java b/src/main/java/io/takima/Yatzy.java
index c8a684f..14fd3a4 100644
--- a/src/main/java/io/takima/Yatzy.java
+++ b/src/main/java/io/takima/Yatzy.java
@@ -19,25 +19,8 @@ public final class Yatzy {
         return 0;
     }
 
-    public static int ones(int d1, int d2, int d3, int d4, int d5) {
-        int sum = 0;
-        if (d1 == 1) {
-            sum++;
-        }
-        if (d2 == 1) {
-            sum++;
-        }
-        if (d3 == 1) {
-            sum++;
-        }
-        if (d4 == 1) {
-            sum++;
-        }
-        if (d5 == 1) {
-            sum++;
-        }
-
-        return sum;
+    public static int ones(Roll roll) {
+        return roll.toStream().filter(i -> i == 1).sum();
     }
 
     public static int twos(int d1, int d2, int d3, int d4, int d5) {
diff --git a/src/test/java/io/takima/YatzyTest.java b/src/test/java/io/takima/YatzyTest.java
index 689ffbb..7f68795 100644
--- a/src/test/java/io/takima/YatzyTest.java
+++ b/src/test/java/io/takima/YatzyTest.java
@@ -31,10 +31,10 @@ class YatzyTest {
     @Test
     void onesShouldSumAllOneDices() {
         assertAll(
-            () -> assertEquals(1, Yatzy.ones(1, 2, 3, 4, 5)),
-            () -> assertEquals(2, Yatzy.ones(1, 2, 1, 4, 5)),
-            () -> assertEquals(0, Yatzy.ones(6, 2, 2, 4, 5)),
-            () -> assertEquals(4, Yatzy.ones(1, 2, 1, 1, 1))
+            () -> assertEquals(1, Yatzy.ones(roll(1, 2, 3, 4, 5))),
+            () -> assertEquals(2, Yatzy.ones(roll(1, 2, 1, 4, 5))),
+            () -> assertEquals(0, Yatzy.ones(roll(6, 2, 2, 4, 5))),
+            () -> assertEquals(4, Yatzy.ones(roll(1, 2, 1, 1, 1)))
         );
     }
 
-- 
GitLab