Skip to content

Commit

Permalink
Update JUnit test cases to handle code changes
Browse files Browse the repository at this point in the history
  • Loading branch information
vibes-863 committed Mar 19, 2024
1 parent 3cba75e commit 7ac29da
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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() + " | " +
Expand Down
5 changes: 4 additions & 1 deletion src/test/java/budgetbuddy/parser/ParserTest.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
package budgetbuddy.parser;
import budgetbuddy.account.Account;
import org.junit.jupiter.api.Test;
import budgetbuddy.transaction.type.Transaction;

Expand All @@ -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());
Expand Down
24 changes: 17 additions & 7 deletions src/test/java/budgetbuddy/transaction/TransactionListTest.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -10,10 +12,12 @@
public class TransactionListTest {

private TransactionList transactionList;
private Account account;

@BeforeEach
public void setUp() {
transactionList = new TransactionList();
account = new Account();
}

@Test
Expand All @@ -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());
Expand All @@ -33,23 +38,28 @@ 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));
}

@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));
}
}
31 changes: 24 additions & 7 deletions src/test/java/budgetbuddy/transaction/type/TransactionTest.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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());
Expand All @@ -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());
}
}

0 comments on commit 7ac29da

Please sign in to comment.