From 7b5095bf3aadaea953eaffa7c49c6df431935fd9 Mon Sep 17 00:00:00 2001 From: AmazingRecordingStudios Date: Fri, 21 Aug 2020 00:28:32 +0200 Subject: [PATCH] reintroduced numerals based on the normal alphabet, used for numbering sections in a literary work --- .../hippo/utils/Utils.java | 16 ++++++++++++++++ .../hippo/model/UtilsUnitTest.java | 19 ++++++++++++++++--- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/it/amazingrecordingstudios/hippo/utils/Utils.java b/app/src/main/java/it/amazingrecordingstudios/hippo/utils/Utils.java index 92bd76a..b8ef3d2 100644 --- a/app/src/main/java/it/amazingrecordingstudios/hippo/utils/Utils.java +++ b/app/src/main/java/it/amazingrecordingstudios/hippo/utils/Utils.java @@ -243,6 +243,22 @@ public static AssetFileDescriptor[] getAssetFileDescriptors( } public static String parseGreekNumeral(int number) { + return parseGreekNumeralForSectionsOfALiteraryWork(number); + } + + public static String parseGreekNumeralForSectionsOfALiteraryWork(int number) { + + final String greekNumeralsString = "αβγδεζηθικλμνξοπρστυφχψω"; + char[] greekNumerals = greekNumeralsString.toCharArray(); + + if(number > greekNumerals.length) { + return null; + } + + return String.valueOf(greekNumerals[number - 1]); + } + + public static String parseGreekNumeralForGeneralCounting(int number) { // actual alphabet: αβγδε ζηθ ἰκλμνξοπ ρστυφχψω // numeral alphabet: αβγδε ϛ ζηθ ικλμνξοπ ϙ ρστυφχψω ϡ diff --git a/app/src/test/java/it/amazingrecordingstudios/hippo/model/UtilsUnitTest.java b/app/src/test/java/it/amazingrecordingstudios/hippo/model/UtilsUnitTest.java index 2d2364d..96ec528 100644 --- a/app/src/test/java/it/amazingrecordingstudios/hippo/model/UtilsUnitTest.java +++ b/app/src/test/java/it/amazingrecordingstudios/hippo/model/UtilsUnitTest.java @@ -9,7 +9,7 @@ public class UtilsUnitTest { @Test - public void parseGreekNumeral() { + public void parseGreekNumeralForGeneralCounting() { parseGreekNumeralHelper(6, "ϛ"); parseGreekNumeralHelper(66, "ξϛ"); @@ -37,7 +37,7 @@ public void parseGreekNumeral() { } @Test - public void parseGreekNumeralOverAThousand() { + public void parseGreekNumeralForGeneralCountingOverAThousand() { parseGreekNumeralHelper(1000, "͵α"); parseGreekNumeralHelper(1001, "͵αα"); @@ -46,7 +46,20 @@ public void parseGreekNumeralOverAThousand() { } public void parseGreekNumeralHelper(int number, String expectedParse) { - String parsedInt = Utils.parseGreekNumeral(number); + String parsedInt = Utils.parseGreekNumeralForGeneralCounting(number); + assertEquals(expectedParse, parsedInt); + } + + @Test + public void parseGreekNumeralForSectionsOfLiteraryWorks() { + parseGreekNumeralHelperForSectionsOfLiteraryWorks(1, "α"); + parseGreekNumeralHelperForSectionsOfLiteraryWorks(6, "ζ"); + parseGreekNumeralHelperForSectionsOfLiteraryWorks(10, "κ"); + // α β γ δ ε ζ η θ ἰ κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω + } + + public void parseGreekNumeralHelperForSectionsOfLiteraryWorks(int number, String expectedParse) { + String parsedInt = Utils.parseGreekNumeralForSectionsOfALiteraryWork(number); assertEquals(expectedParse, parsedInt); } }