From 39a2e7fe917725158ceb008e00d3158e829e67e8 Mon Sep 17 00:00:00 2001
From: Thomas Fabre <tfabre@takima.fr>
Date: Fri, 23 Jun 2023 13:27:44 +0200
Subject: [PATCH] Refactor threes with Roll

---
 src/main/java/io/takima/Yatzy.java     | 24 ++++--------------------
 src/test/java/io/takima/YatzyTest.java |  4 ++--
 2 files changed, 6 insertions(+), 22 deletions(-)

diff --git a/src/main/java/io/takima/Yatzy.java b/src/main/java/io/takima/Yatzy.java
index b5daead..55ae70c 100644
--- a/src/main/java/io/takima/Yatzy.java
+++ b/src/main/java/io/takima/Yatzy.java
@@ -20,31 +20,15 @@ public final class Yatzy {
     }
 
     public static int ones(Roll roll) {
-        return roll.toStream().filter(i -> i == 1).sum();
+        return roll.toStream().filter(dice -> dice == 1).sum();
     }
 
     public static int twos(Roll roll) {
-        return roll.toStream().filter(i -> i == 2).sum();
+        return roll.toStream().filter(dice -> dice == 2).sum();
     }
 
-    public static int threes(int d1, int d2, int d3, int d4, int d5) {
-        int s = 0;
-        if (d1 == 3) {
-            s += 3;
-        }
-        if (d2 == 3) {
-            s += 3;
-        }
-        if (d3 == 3) {
-            s += 3;
-        }
-        if (d4 == 3) {
-            s += 3;
-        }
-        if (d5 == 3) {
-            s += 3;
-        }
-        return s;
+    public static int threes(Roll roll) {
+        return roll.toStream().filter(dice -> dice == 3).sum();
     }
 
     public static int pair(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 8084ca9..bfcd597 100644
--- a/src/test/java/io/takima/YatzyTest.java
+++ b/src/test/java/io/takima/YatzyTest.java
@@ -49,8 +49,8 @@ class YatzyTest {
     @Test
     void threesShouldSumAllThreeDices() {
         assertAll(
-            () -> assertEquals(6, Yatzy.threes(1, 2, 3, 2, 3)),
-            () -> assertEquals(12, Yatzy.threes(2, 3, 3, 3, 3))
+            () -> assertEquals(6, Yatzy.threes(roll(1, 2, 3, 2, 3))),
+            () -> assertEquals(12, Yatzy.threes(roll(2, 3, 3, 3, 3)))
         );
     }
 
-- 
GitLab