From 97167505f1f7f805e6afdb8f1c60810e17f553e3 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Fri, 7 Jun 2024 15:34:44 +0300 Subject: Add tests for RomanNumerals and clarify their uses in javadocs --- .../hysky/skyblocker/utils/RomanNumeralsTest.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/test/java/de/hysky/skyblocker/utils/RomanNumeralsTest.java (limited to 'src/test/java/de/hysky') diff --git a/src/test/java/de/hysky/skyblocker/utils/RomanNumeralsTest.java b/src/test/java/de/hysky/skyblocker/utils/RomanNumeralsTest.java new file mode 100644 index 00000000..35bd76ee --- /dev/null +++ b/src/test/java/de/hysky/skyblocker/utils/RomanNumeralsTest.java @@ -0,0 +1,35 @@ +package de.hysky.skyblocker.utils; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class RomanNumeralsTest { + @Test + void testToRoman() { + // Test the first 50 numbers + String[] expected = new String[]{"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX", "XXI", "XXII", "XXIII", "XXIV", "XXV", "XXVI", "XXVII", "XXVIII", "XXIX", "XXX", "XXXI", "XXXII", "XXXIII", "XXXIV", "XXXV", "XXXVI", "XXXVII", "XXXVIII", "XXXIX", "XL", "XLI", "XLII", "XLIII", "XLIV", "XLV", "XLVI", "XLVII", "XLVIII", "XLIX", "L"}; + for (int i = 1; i <= 50; i++) { + Assertions.assertEquals(i, RomanNumerals.romanToDecimal(expected[i-1])); + } + Assertions.assertEquals(100, RomanNumerals.romanToDecimal("C")); + Assertions.assertEquals(400, RomanNumerals.romanToDecimal("CD")); + Assertions.assertEquals(500, RomanNumerals.romanToDecimal("D")); + Assertions.assertEquals(900, RomanNumerals.romanToDecimal("CM")); + Assertions.assertEquals(1000, RomanNumerals.romanToDecimal("M")); + Assertions.assertEquals(1999, RomanNumerals.romanToDecimal("MCMXCIX")); + } + + @Test + void isValidRoman() { + Assertions.assertTrue(RomanNumerals.isValidRomanNumeral("I")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral("AI")); + Assertions.assertTrue(RomanNumerals.isValidRomanNumeral("CMI")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral(" CMI")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral("XI I")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral("A")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral("15")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral("MCMLXXXAIV")); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral(null)); + Assertions.assertFalse(RomanNumerals.isValidRomanNumeral("")); + } +} -- cgit