From 0813ae3b8a47ad16cec6d471344e7b68b14f0771 Mon Sep 17 00:00:00 2001 From: Colin DAMON <cdamon@ippon.fr> Date: Tue, 24 Nov 2020 13:41:30 +0100 Subject: [PATCH] Extract floor entry recuperation --- .../src/main/java/fr/ippon/kata/numeral/Numerals.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tcr-roman-numerals/src/main/java/fr/ippon/kata/numeral/Numerals.java b/tcr-roman-numerals/src/main/java/fr/ippon/kata/numeral/Numerals.java index 9f8f42a1..6f0cdb03 100644 --- a/tcr-roman-numerals/src/main/java/fr/ippon/kata/numeral/Numerals.java +++ b/tcr-roman-numerals/src/main/java/fr/ippon/kata/numeral/Numerals.java @@ -10,7 +10,11 @@ public class Numerals { private static final NavigableMap<Integer, String> CONVERSIONS = buildConversions(); public static String toRoman(int arabic) { - return Optional.ofNullable(CONVERSIONS.floorEntry(arabic)).map(romanRepresentation(arabic)).orElse(""); + return highestKnownConversion(arabic).map(romanRepresentation(arabic)).orElse(""); + } + + private static Optional<Entry<Integer, String>> highestKnownConversion(int arabic) { + return Optional.ofNullable(CONVERSIONS.floorEntry(arabic)); } private static Function<Entry<Integer, String>, String> romanRepresentation(int arabic) { -- GitLab