From fe653d04d62fe04c1952a0e3a616ddf36955ebe1 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:19:23 +0800 Subject: [PATCH 01/19] Update SpendSwiftTest.java --- .../java/seedu/spendswift/SpendSwiftTest.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/test/java/seedu/spendswift/SpendSwiftTest.java b/src/test/java/seedu/spendswift/SpendSwiftTest.java index a360ced505..05285bc91e 100644 --- a/src/test/java/seedu/spendswift/SpendSwiftTest.java +++ b/src/test/java/seedu/spendswift/SpendSwiftTest.java @@ -11,6 +11,12 @@ import seedu.spendswift.command.BudgetManager; import seedu.spendswift.command.Format; //import seedu.spendswift.command.ExpenseManager; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.when; + @@ -547,3 +553,48 @@ void testFormatAmountNegativeValue() { assertEquals("-$123.45", Format.formatAmount(-123.45), "Should handle negative values correctly."); } } + +class StorageTest   + { + + @Test + void testSaveData() throws IOException { + UI ui = mock(UI.class); + TrackerData trackerData = mock(TrackerData.class); + + Storage storage = new Storage("expenses.txt", "categories.txt", ui); + Storage spyStorage = spy(storage); + spyStorage.saveData(trackerData); + + verify(spyStorage.getCategoryStorage(), times(1)).saveCategories(trackerData); + verify(spyStorage.getExpenseStorage(), times(1)).saveExpenses(trackerData); + } + + @Test + void testLoadData() throws IOException { + UI ui = mock(UI.class); + TrackerData trackerData = mock(TrackerData.class); + Set validCategories = Set.of("Food", "Transport"); + + Storage storage = new Storage("expenses.txt", "categories.txt", ui); + Storage spyStorage = spy(storage); + + when(spyStorage.getCategoryStorage().loadCategories(trackerData)).thenReturn(validCategories); + spyStorage.loadData(trackerData); + + verify(spyStorage.getExpenseStorage(), times(1)).loadExpenses(trackerData, validCategories); + } + + @Test + void testLoadOrCreateCategory() { + TrackerData trackerData = new TrackerData(); + trackerData.getCategories().add(new Category("Entertainment")); + + Category result = Storage.loadOrCreateCategory(trackerData, "Entertainment"); + assertEquals("Entertainment", result.getName()); + + result = Storage.loadOrCreateCategory(trackerData, "Health"); + assertEquals("Health", result.getName()); + assertTrue(trackerData.getCategories().contains(new Category("Health"))); + } +} From e96a94054c07d06915a61c944adaf86ec63da737 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:25:16 +0800 Subject: [PATCH 02/19] Update SpendSwiftTest.java --- src/test/java/seedu/spendswift/SpendSwiftTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/java/seedu/spendswift/SpendSwiftTest.java b/src/test/java/seedu/spendswift/SpendSwiftTest.java index 05285bc91e..6b67641228 100644 --- a/src/test/java/seedu/spendswift/SpendSwiftTest.java +++ b/src/test/java/seedu/spendswift/SpendSwiftTest.java @@ -555,8 +555,7 @@ void testFormatAmountNegativeValue() { } class StorageTest   - { - + { @Test void testSaveData() throws IOException { UI ui = mock(UI.class); From d026caec51fcc12b09eed8371ad3f1a7e8188e59 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:27:35 +0800 Subject: [PATCH 03/19] Update SpendSwiftTest.java --- src/test/java/seedu/spendswift/SpendSwiftTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/seedu/spendswift/SpendSwiftTest.java b/src/test/java/seedu/spendswift/SpendSwiftTest.java index 6b67641228..d549ef61cf 100644 --- a/src/test/java/seedu/spendswift/SpendSwiftTest.java +++ b/src/test/java/seedu/spendswift/SpendSwiftTest.java @@ -554,8 +554,8 @@ void testFormatAmountNegativeValue() { } } -class StorageTest   - { +class StorageTest { + @Test void testSaveData() throws IOException { UI ui = mock(UI.class); From 5ddd72929d0c410c0daa67a97effcfa8b3faa5e3 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:30:54 +0800 Subject: [PATCH 04/19] Update SpendSwiftTest.java --- src/test/java/seedu/spendswift/SpendSwiftTest.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/test/java/seedu/spendswift/SpendSwiftTest.java b/src/test/java/seedu/spendswift/SpendSwiftTest.java index d549ef61cf..ee417cd386 100644 --- a/src/test/java/seedu/spendswift/SpendSwiftTest.java +++ b/src/test/java/seedu/spendswift/SpendSwiftTest.java @@ -11,11 +11,11 @@ import seedu.spendswift.command.BudgetManager; import seedu.spendswift.command.Format; //import seedu.spendswift.command.ExpenseManager; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.when; +import org.mockito.Mockito.mock; +import org.mockito.Mockito.spy; +import org.mockito.Mockito.verify; +import org.mockito.Mockito.times; +import org.mockito.Mockito.when; From 863831068c170ed8e600f007ec3a5b3bf8c57afb Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:33:03 +0800 Subject: [PATCH 05/19] Update SpendSwiftTest.java --- src/test/java/seedu/spendswift/SpendSwiftTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/seedu/spendswift/SpendSwiftTest.java b/src/test/java/seedu/spendswift/SpendSwiftTest.java index ee417cd386..8c8551038d 100644 --- a/src/test/java/seedu/spendswift/SpendSwiftTest.java +++ b/src/test/java/seedu/spendswift/SpendSwiftTest.java @@ -553,7 +553,7 @@ void testFormatAmountNegativeValue() { assertEquals("-$123.45", Format.formatAmount(-123.45), "Should handle negative values correctly."); } } - +/* class StorageTest { @Test @@ -596,4 +596,5 @@ void testLoadOrCreateCategory() { assertEquals("Health", result.getName()); assertTrue(trackerData.getCategories().contains(new Category("Health"))); } -} +}*/ + From d412614cea9d72e274de9c4eb565a424907deee2 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:52:48 +0800 Subject: [PATCH 06/19] Update InputParser.java --- .../seedu/spendswift/parser/InputParser.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 152014cb3e..e790db7622 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -36,14 +36,24 @@ public int parseIndex(String input) { } public double parseLimit(String input) { - String limitStr = parseComponent(input, "l/"); - try { - return Double.parseDouble(limitStr); - } catch (NumberFormatException e) { - ErrorMessage.printInvalidLimit(); - return Double.NaN; + String limitStr = parseComponent(input, "l/"); + try { + double limit = Double.parseDouble(limitStr); + + // Assertion to ensure the limit does not exceed 1 quadrillion + assert limit <= 1_000_000_000_000_000.0 : "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; + + // Cap the limit at 1 quadrillion if it exceeds this value + if (limit > 1_000_000_000_000_000.0) { + limit = 1_000_000_000_000_000.0; } + + return limit; + } catch (NumberFormatException e) { + ErrorMessage.printInvalidLimit(); + return Double.NaN; } +} public double parseAmount(String input) { String amountStr = parseComponent(input, "a/"); From fca6edfcc83b109a6fbe13eb3288b20a3ed5ca6b Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:54:37 +0800 Subject: [PATCH 07/19] Update SpendSwiftTest.java --- .../java/seedu/spendswift/SpendSwiftTest.java | 49 ------------------- 1 file changed, 49 deletions(-) diff --git a/src/test/java/seedu/spendswift/SpendSwiftTest.java b/src/test/java/seedu/spendswift/SpendSwiftTest.java index 8c8551038d..e225e1b435 100644 --- a/src/test/java/seedu/spendswift/SpendSwiftTest.java +++ b/src/test/java/seedu/spendswift/SpendSwiftTest.java @@ -11,11 +11,6 @@ import seedu.spendswift.command.BudgetManager; import seedu.spendswift.command.Format; //import seedu.spendswift.command.ExpenseManager; -import org.mockito.Mockito.mock; -import org.mockito.Mockito.spy; -import org.mockito.Mockito.verify; -import org.mockito.Mockito.times; -import org.mockito.Mockito.when; @@ -553,48 +548,4 @@ void testFormatAmountNegativeValue() { assertEquals("-$123.45", Format.formatAmount(-123.45), "Should handle negative values correctly."); } } -/* -class StorageTest { - - @Test - void testSaveData() throws IOException { - UI ui = mock(UI.class); - TrackerData trackerData = mock(TrackerData.class); - - Storage storage = new Storage("expenses.txt", "categories.txt", ui); - Storage spyStorage = spy(storage); - spyStorage.saveData(trackerData); - - verify(spyStorage.getCategoryStorage(), times(1)).saveCategories(trackerData); - verify(spyStorage.getExpenseStorage(), times(1)).saveExpenses(trackerData); - } - - @Test - void testLoadData() throws IOException { - UI ui = mock(UI.class); - TrackerData trackerData = mock(TrackerData.class); - Set validCategories = Set.of("Food", "Transport"); - - Storage storage = new Storage("expenses.txt", "categories.txt", ui); - Storage spyStorage = spy(storage); - - when(spyStorage.getCategoryStorage().loadCategories(trackerData)).thenReturn(validCategories); - spyStorage.loadData(trackerData); - - verify(spyStorage.getExpenseStorage(), times(1)).loadExpenses(trackerData, validCategories); - } - - @Test - void testLoadOrCreateCategory() { - TrackerData trackerData = new TrackerData(); - trackerData.getCategories().add(new Category("Entertainment")); - - Category result = Storage.loadOrCreateCategory(trackerData, "Entertainment"); - assertEquals("Entertainment", result.getName()); - - result = Storage.loadOrCreateCategory(trackerData, "Health"); - assertEquals("Health", result.getName()); - assertTrue(trackerData.getCategories().contains(new Category("Health"))); - } -}*/ From ee1b9fd228f6bbdbd3d17d3d0ada91aa112f3adb Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 09:59:04 +0800 Subject: [PATCH 08/19] Update InputParser.java --- .../seedu/spendswift/parser/InputParser.java | 86 ++++++++++++------- 1 file changed, 54 insertions(+), 32 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index e790db7622..a1779beac4 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -1,7 +1,7 @@ -//@@author glenda-1506 +//@@glenda-1506 package seedu.spendswift.parser; -import seedu.spendswift.ui.ErrorMessage; +import seedu.spendswift.ErrorMessage; public class InputParser { private String parseComponent(String input, String prefix) { @@ -12,9 +12,17 @@ private String parseComponent(String input, String prefix) { startIndex += prefix.length(); int endIndex = input.length(); - String[] prefixes = {"n/", "a/", "c/", "e/", "l/"}; + String[] prefixes = { + "n/", + "a/", + "c/", + "e/", + "l/", + "hcur/", + "ocur/" + }; - for (String otherPrefix : prefixes) { + for (String otherPrefix: prefixes) { if (!otherPrefix.equals(prefix)) { int prefixIndex = input.indexOf(otherPrefix, startIndex); if (prefixIndex != -1 && prefixIndex < endIndex) { @@ -26,34 +34,47 @@ private String parseComponent(String input, String prefix) { return input.substring(startIndex, endIndex).trim(); } - public int parseIndex(String input) { - String indexStr = parseComponent(input, "e/"); - try { - return Integer.parseInt(indexStr) - 1; - } catch (NumberFormatException e) { - return -1; + public String parseHomeCurrency(String input) throws IllegalArgumentException { + return parseCurrency(input, "hcur/"); + } + + public String parseOriginalCurrency(String input) throws IllegalArgumentException { + return parseCurrency(input, "ocur/"); + } + + private String parseCurrency(String input, String currencyPrefix) throws IllegalArgumentException { + // Ensure the currency code follows immediately after the prefix and is exactly three letters long + if (!input.matches(".*" + currencyPrefix + "[a-zA-Z]{3}(\\b|\\s|$).*")) { + throw new IllegalArgumentException("Error: A 3-letter currency code directly following '" + + currencyPrefix + "' is needed."); } + + String currency = parseComponent(input, currencyPrefix); + if (currency.isEmpty() || !currency.matches("[a-zA-Z]{3}")) { + throw new IllegalArgumentException("Error: A valid 3-letter currency code is needed after '" + + currencyPrefix + "'. Found: '" + currency + "'"); + } + + return currency.toUpperCase(); + } + + public String parseName(String input) { + return parseComponent(input, "n/"); + } + + public String parseCategory(String input) { + return parseComponent(input, "c/"); } public double parseLimit(String input) { - String limitStr = parseComponent(input, "l/"); - try { - double limit = Double.parseDouble(limitStr); - - // Assertion to ensure the limit does not exceed 1 quadrillion - assert limit <= 1_000_000_000_000_000.0 : "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; - - // Cap the limit at 1 quadrillion if it exceeds this value - if (limit > 1_000_000_000_000_000.0) { - limit = 1_000_000_000_000_000.0; + String limitStr = parseComponent(input, "l/"); + try { + return Double.parseDouble(limitStr); + } catch (NumberFormatException e) { + ErrorMessage.printInvalidLimit(); + return Double.NaN; } - - return limit; - } catch (NumberFormatException e) { - ErrorMessage.printInvalidLimit(); - return Double.NaN; } -} public double parseAmount(String input) { String amountStr = parseComponent(input, "a/"); @@ -65,11 +86,12 @@ public double parseAmount(String input) { } } - public String parseName(String input) { - return parseComponent(input, "n/"); + public int parseIndex(String input) { + String indexStr = parseComponent(input, "e/"); + try { + return Integer.parseInt(indexStr) - 1; + } catch (NumberFormatException e) { + return -1; + } } - public String parseCategory(String input) { - return parseComponent(input, "c/"); - } -} From 8e93daab1fa1bb1f2c918847d25bbacef841896f Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 10:01:16 +0800 Subject: [PATCH 09/19] Update InputParser.java --- .../seedu/spendswift/parser/InputParser.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index a1779beac4..1a0d7b00d7 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -65,16 +65,25 @@ public String parseName(String input) { public String parseCategory(String input) { return parseComponent(input, "c/"); } - public double parseLimit(String input) { - String limitStr = parseComponent(input, "l/"); - try { - return Double.parseDouble(limitStr); - } catch (NumberFormatException e) { - ErrorMessage.printInvalidLimit(); - return Double.NaN; + String limitStr = parseComponent(input, "l/"); + try { + double limit = Double.parseDouble(limitStr); + + // Assertion to ensure the limit does not exceed 1 quadrillion + assert limit <= 1 _000_000_000_000_000 .0: "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; + + // Cap the limit at 1 quadrillion if it exceeds this value + if (limit > 1 _000_000_000_000_000 .0) { + limit = 1 _000_000_000_000_000 .0; } + + return limit; + } catch (NumberFormatException e) { + ErrorMessage.printInvalidLimit(); + return Double.NaN; } +} public double parseAmount(String input) { String amountStr = parseComponent(input, "a/"); From 9907fb4885d9ffcab25c8b1f0231f619060e571f Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:59:48 +0800 Subject: [PATCH 10/19] Update InputParser.java --- .../seedu/spendswift/parser/InputParser.java | 60 ++++++++++++++----- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 1a0d7b00d7..56a6946965 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -65,26 +65,54 @@ public String parseName(String input) { public String parseCategory(String input) { return parseComponent(input, "c/"); } - public double parseLimit(String input) { - String limitStr = parseComponent(input, "l/"); - try { - double limit = Double.parseDouble(limitStr); - - // Assertion to ensure the limit does not exceed 1 quadrillion - assert limit <= 1 _000_000_000_000_000 .0: "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; + /** + * Parses the limit from the input string. + * + * @param input The input string containing the limit component prefixed with "l/". + * @return The parsed limit as a double, capped at 1 quadrillion if exceeded. + * Returns Double.NaN if the limit is invalid or not found. + */ + public static double parseLimit(String input) { + // Define the prefix to look for + final String PREFIX = "l/"; + // Define the maximum allowed limit as 1 quadrillion without underscores + final double QUADRILLION = 1000000000000000.0; // 1,000,000,000,000,000 + + // Check if the input is valid and contains the prefix + if (input == null || !input.contains(PREFIX)) { + System.err.println("No limit prefix 'l/' found in the input."); + return Double.NaN; + } - // Cap the limit at 1 quadrillion if it exceeds this value - if (limit > 1 _000_000_000_000_000 .0) { - limit = 1 _000_000_000_000_000 .0; + // Split the input based on the prefix + String[] parts = input.split(PREFIX); + if (parts.length < 2) { + System.err.println("Limit prefix found but no value specified."); + return Double.NaN; } - return limit; - } catch (NumberFormatException e) { - ErrorMessage.printInvalidLimit(); - return Double.NaN; - } -} + // Extract the substring after the prefix + String limitStr = parts[1].split(" ")[0].trim(); + + try { + // Parse the limit string into double + double limit = Double.parseDouble(limitStr); + // Assertion to ensure the limit does not exceed 1 quadrillion + assert limit <= QUADRILLION: "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; + + // Cap the limit at 1 quadrillion if it exceeds this value + if (limit > QUADRILLION) { + System.err.println("Limit exceeds 1 quadrillion, capping to 1 quadrillion."); + limit = QUADRILLION; + } + + return limit; + } catch (NumberFormatException e) { + System.err.println("Invalid limit format: '" + limitStr + "'."); + return Double.NaN; + } + } public double parseAmount(String input) { String amountStr = parseComponent(input, "a/"); try { From 80ece1ee9b296130fbbcbec8d0272da81b635921 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:01:25 +0800 Subject: [PATCH 11/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 56a6946965..0f3f0eafa2 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -131,4 +131,5 @@ public int parseIndex(String input) { return -1; } } +} From f9d4e0013eb8bb3086ec51aabe682f890351709f Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:04:54 +0800 Subject: [PATCH 12/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 0f3f0eafa2..9ce047ecc0 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -1,7 +1,7 @@ //@@glenda-1506 package seedu.spendswift.parser; -import seedu.spendswift.ErrorMessage; +import seedu.spendswift.ui.ErrorMessage; public class InputParser { private String parseComponent(String input, String prefix) { From f9692299453c3ba072f12e864c493288fe6aa9bf Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:22:08 +0800 Subject: [PATCH 13/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 413b5de57f..3bb1334b70 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -1,4 +1,4 @@ -//@@glenda-1506 + package seedu.spendswift.parser; import seedu.spendswift.ui.ErrorMessage; @@ -72,7 +72,7 @@ public String parseName(String input) { public String parseCategory(String input) { return parseComponent(input, "c/"); } - + /** * Parses a limit component from teh string input using "l/" prefix. * @@ -130,7 +130,8 @@ public double parseAmount(String input) { public String parseName(String input) { return parseComponent(input, "n/"); } +} - \ No newline at end of file + From ad3a575c8cf00d90717d23bfe0cba747f0197f07 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:25:40 +0800 Subject: [PATCH 14/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 3bb1334b70..0bbba3bca5 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -84,6 +84,7 @@ public double parseLimit(String input) { try { // Parse the limit string into double double limit = Double.parseDouble(limitStr); + final double QUADRILLION = 1000000000000000.0; // Assertion to ensure the limit does not exceed 1 quadrillion assert limit <= QUADRILLION: "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; From d1a596dcf91545da9e5ab76d67f1b442a58cbcd3 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:27:50 +0800 Subject: [PATCH 15/19] Update InputParser.java --- .../java/seedu/spendswift/parser/InputParser.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 0bbba3bca5..77e05fcd1b 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -122,17 +122,7 @@ public double parseAmount(String input) { } - /** - * Parses a name component from the input using "n/" prefix.. - * - * @param input The input string containing the name. - * @return The extracted name as a string. - */ - public String parseName(String input) { - return parseComponent(input, "n/"); - } -} - + From c878f3a173b4d1c7efc9e9301cf7e2dbaf101c87 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:29:47 +0800 Subject: [PATCH 16/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 77e05fcd1b..d5de11c07a 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -120,6 +120,7 @@ public double parseAmount(String input) { return Double.NaN; } } +} From d421743e815ded4cd2a3ce8b5b3b893c8e64aaff Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:32:35 +0800 Subject: [PATCH 17/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index d5de11c07a..3bf9e4bc0e 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -84,13 +84,13 @@ public double parseLimit(String input) { try { // Parse the limit string into double double limit = Double.parseDouble(limitStr); - final double QUADRILLION = 1000000000000000.0; + final double quadrillion = 1000000000000000.0; // Assertion to ensure the limit does not exceed 1 quadrillion - assert limit <= QUADRILLION: "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; + assert limit <= quadrillion: "Limit exceeds 1 quadrillion, capping to 1 quadrillion"; // Cap the limit at 1 quadrillion if it exceeds this value - if (limit > QUADRILLION) { + if (limit > quadrillion) { System.err.println("Limit exceeds 1 quadrillion, capping to 1 quadrillion."); limit = QUADRILLION; } From 23a7c2d7735b6d79484b805c36bff1ff96671ea4 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:34:21 +0800 Subject: [PATCH 18/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 3bf9e4bc0e..96d7519658 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -92,7 +92,7 @@ public double parseLimit(String input) { // Cap the limit at 1 quadrillion if it exceeds this value if (limit > quadrillion) { System.err.println("Limit exceeds 1 quadrillion, capping to 1 quadrillion."); - limit = QUADRILLION; + limit = quadrillion; } return limit; From fea79bc3892e55ac257411e3ccbb1332ed857d65 Mon Sep 17 00:00:00 2001 From: MayFairMI6 <143886061+MayFairMI6@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:36:09 +0800 Subject: [PATCH 19/19] Update InputParser.java --- src/main/java/seedu/spendswift/parser/InputParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/spendswift/parser/InputParser.java b/src/main/java/seedu/spendswift/parser/InputParser.java index 96d7519658..8e1c9988ce 100644 --- a/src/main/java/seedu/spendswift/parser/InputParser.java +++ b/src/main/java/seedu/spendswift/parser/InputParser.java @@ -84,7 +84,7 @@ public double parseLimit(String input) { try { // Parse the limit string into double double limit = Double.parseDouble(limitStr); - final double quadrillion = 1000000000000000.0; + final double quadrillion = 1000000000000000.0; // Assertion to ensure the limit does not exceed 1 quadrillion assert limit <= quadrillion: "Limit exceeds 1 quadrillion, capping to 1 quadrillion";