From d6e22b33d04c5d45e2b3f558394c8a78fab4d0d6 Mon Sep 17 00:00:00 2001
From: Thomas Fabre <tfabre@takima.fr>
Date: Fri, 23 Jun 2023 13:18:37 +0200
Subject: [PATCH] Refactor Yatzy chance with Roll

---
 src/main/java/io/takima/Yatzy.java     | 10 ++--------
 src/test/java/io/takima/YatzyTest.java |  5 +++--
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/main/java/io/takima/Yatzy.java b/src/main/java/io/takima/Yatzy.java
index b240a0f..a9cf093 100644
--- a/src/main/java/io/takima/Yatzy.java
+++ b/src/main/java/io/takima/Yatzy.java
@@ -7,14 +7,8 @@ public final class Yatzy {
         dice = new int[] { d1, d2, d3, d4, d5 };
     }
 
-    public static int chance(int d1, int d2, int d3, int d4, int d5) {
-        int total = 0;
-        total += d1;
-        total += d2;
-        total += d3;
-        total += d4;
-        total += d5;
-        return total;
+    public static int chance(Roll roll) {
+        return roll.toStream().sum();
     }
 
     public static int yatzy(int... dice) {
diff --git a/src/test/java/io/takima/YatzyTest.java b/src/test/java/io/takima/YatzyTest.java
index 75539a7..d9d5920 100644
--- a/src/test/java/io/takima/YatzyTest.java
+++ b/src/test/java/io/takima/YatzyTest.java
@@ -2,6 +2,7 @@ package io.takima;
 
 import org.junit.jupiter.api.Test;
 
+import static io.takima.Roll.roll;
 import static org.junit.jupiter.api.Assertions.assertAll;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -9,8 +10,8 @@ class YatzyTest {
     @Test
     void chanceShouldSumAllDices() {
         assertAll(
-            () -> assertEquals(15, Yatzy.chance(2, 3, 4, 5, 1)),
-            () -> assertEquals(16, Yatzy.chance(3, 3, 4, 5, 1))
+            () -> assertEquals(15, Yatzy.chance(roll(2, 3, 4, 5, 1))),
+            () -> assertEquals(16, Yatzy.chance(roll(3, 3, 4, 5, 1)))
         );
     }
 
-- 
GitLab