diff --git a/src/main/java/budgetbuddy/transaction/type/Transaction.java b/src/main/java/budgetbuddy/transaction/type/Transaction.java index fb175ea4fb..5b816a5531 100644 --- a/src/main/java/budgetbuddy/transaction/type/Transaction.java +++ b/src/main/java/budgetbuddy/transaction/type/Transaction.java @@ -40,7 +40,7 @@ public String getCategory() { @Override public String toString() { - return ("Transaction Type: " + getTransactionType() + " | " + + return (" Transaction Type: " + getTransactionType() + " | " + " Description: " + getDescription() + " | " + " Date: " + getDate() + " | " + " Amount: " + getAmount() + " | " + diff --git a/src/test/java/budgetbuddy/parser/ParserTest.java b/src/test/java/budgetbuddy/parser/ParserTest.java index ff714dae83..73b30c1e20 100644 --- a/src/test/java/budgetbuddy/parser/ParserTest.java +++ b/src/test/java/budgetbuddy/parser/ParserTest.java @@ -1,4 +1,5 @@ package budgetbuddy.parser; +import budgetbuddy.account.Account; import org.junit.jupiter.api.Test; import budgetbuddy.transaction.type.Transaction; @@ -12,7 +13,9 @@ public class ParserTest { @Test public void testParseTransaction() { Parser parser = new Parser(); - Transaction transaction = parser.parseTransaction("add /n/Shopping /$/50 /d/14-03-2024 /c/Personal"); + Account account = new Account(); + Transaction transaction = parser.parseTransaction("add /t/Income /n/Shopping /$/50 /d/14-03-2024 " + + "/c/Personal", account); assertEquals("Shopping", transaction.getDescription()); assertEquals(50.0f, transaction.getAmount(), 0.001); assertEquals(LocalDate.parse("14-03-2024", DateTimeFormatter.ofPattern("dd-MM-yyyy")), transaction.getDate()); diff --git a/src/test/java/budgetbuddy/transaction/TransactionListTest.java b/src/test/java/budgetbuddy/transaction/TransactionListTest.java index edcfcdc6ce..28fe11d631 100644 --- a/src/test/java/budgetbuddy/transaction/TransactionListTest.java +++ b/src/test/java/budgetbuddy/transaction/TransactionListTest.java @@ -1,5 +1,7 @@ package budgetbuddy.transaction; +import budgetbuddy.account.Account; +import budgetbuddy.transaction.type.Income; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.BeforeEach; import budgetbuddy.transaction.type.Transaction; @@ -10,10 +12,12 @@ public class TransactionListTest { private TransactionList transactionList; + private Account account; @BeforeEach public void setUp() { transactionList = new TransactionList(); + account = new Account(); } @Test @@ -23,8 +27,9 @@ public void getTransactions_initiallyEmpty() { @Test public void processTransaction_addsTransaction() { - Transaction testTransaction = new Transaction("Test", 200,"Personal", "14-03-2024"); - transactionList.processTransaction("add /n/Test /$/200 /d/14-03-2024 /c/Personal"); + Transaction testTransaction = new Income("Test", 200,"Personal", "14-03-2024", + account); + transactionList.processTransaction("add /t/Income /n/Test /$/200 /d/14-03-2024 /c/Personal", account); assertEquals(1, transactionList.getTransactions().size()); assertEquals(testTransaction.getDescription(), transactionList.getTransactions().get(0).getDescription()); @@ -33,13 +38,16 @@ public void processTransaction_addsTransaction() { assertEquals(testTransaction.getDate(), transactionList.getTransactions().get(0).getDate()); } + @Test public void removeTransaction_removesCorrectTransaction() { - Transaction testTransaction1 = new Transaction("Test1", 100, "Category1", "14-03-2024"); - Transaction testTransaction2 = new Transaction("Test2", 200, "Category2", "16-03-2024"); + Transaction testTransaction1 = new Income("Test1", 100, "Category1", + "14-03-2024", account); + Transaction testTransaction2 = new Income("Test2", 200, "Category2", + "16-03-2024", account); transactionList.addTransaction(testTransaction1); transactionList.addTransaction(testTransaction2); - transactionList.removeTransaction("delete 1"); + transactionList.removeTransaction("delete 1", account); assertEquals(1, transactionList.getTransactions().size()); assertEquals(testTransaction2, transactionList.getTransactions().get(0)); @@ -47,9 +55,11 @@ public void removeTransaction_removesCorrectTransaction() { @Test public void removeTransaction_withInvalidIndex_throwsIndexOutOfBoundsException() { - Transaction testTransaction = new Transaction("Test", 200, "Personal", "14-03-2024"); + Transaction testTransaction = new Income("Test", 200, "Personal", + "14-03-2024", account); transactionList.addTransaction(testTransaction); - assertThrows(IndexOutOfBoundsException.class, () -> transactionList.removeTransaction("delete 2")); + assertThrows(IndexOutOfBoundsException.class, () -> transactionList.removeTransaction( + "delete 2", account)); } } diff --git a/src/test/java/budgetbuddy/transaction/type/TransactionTest.java b/src/test/java/budgetbuddy/transaction/type/TransactionTest.java index c3cf4891e7..6ae13fb51e 100644 --- a/src/test/java/budgetbuddy/transaction/type/TransactionTest.java +++ b/src/test/java/budgetbuddy/transaction/type/TransactionTest.java @@ -1,5 +1,7 @@ package budgetbuddy.transaction.type; +import budgetbuddy.account.Account; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.time.LocalDate; @@ -8,9 +10,18 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class TransactionTest { + + private Account account; + + @BeforeEach + public void setUp() { + account = new Account(); + } + @Test public void testTransactionConstructor() { - Transaction transaction = new Transaction("Groceries", 50.0f, "Food", "14-03-2024"); + Transaction transaction = new Income("Groceries", 50.0f, "Food", "14-03-2024", + new Account()); assertEquals("Groceries", transaction.getDescription()); assertEquals(50.0f, transaction.getAmount(), 0.001); assertEquals("Food", transaction.getCategory()); @@ -20,33 +31,39 @@ public void testTransactionConstructor() { @Test public void testGetDescription() { - Transaction transaction = new Transaction("Groceries", 50.0f, "Food", "14-03-2024"); + Transaction transaction = new Income("Groceries", 50.0f, "Food", "14-03-2024", + account); assertEquals("Groceries", transaction.getDescription()); } @Test public void testGetAmount() { - Transaction transaction = new Transaction("Groceries", 50.0f, "Food", "14-03-2024"); + Transaction transaction = new Income("Groceries", 50.0f, "Food", "14-03-2024", + account); assertEquals(50.0f, transaction.getAmount(), 0.001); } @Test public void testGetCategory() { - Transaction transaction = new Transaction("Groceries", 50.0f, "Food", "14-03-2024"); + Transaction transaction = new Income("Groceries", 50.0f, "Food", "14-03-2024", + account); assertEquals("Food", transaction.getCategory()); } @Test public void testGetDate() { - Transaction transaction = new Transaction("Groceries", 50.0f, "Food", "14-03-2024"); + Transaction transaction = new Income("Groceries", 50.0f, "Food", "14-03-2024", + account); LocalDate date = LocalDate.parse("14-03-2024", DateTimeFormatter.ofPattern("dd-MM-yyyy")); assertEquals(date, transaction.getDate()); } @Test public void testToString() { - Transaction transaction = new Transaction("Groceries", 50.0f, "Food", "14-03-2024"); - String expected = " Description: Groceries | Date: 2024-03-14 | Amount: 50.0 | Category: Food"; + Transaction transaction = new Income("Groceries", 50.0f, "Food", "14-03-2024", + account); + String expected = " Transaction Type: Income | Description: Groceries | Date: 2024-03-14 | Amount: 50.0 | " + + " Category: Food"; assertEquals(expected, transaction.toString()); } }