From 992f8fcdf3b548ca3404370bb36e260ddc184887 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 6 Mar 2026 14:29:33 +0100 Subject: [PATCH] test: adding TransactionArchiveTest --- .../java/millions/TransactionArchiveTest.java | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/test/java/millions/TransactionArchiveTest.java b/src/test/java/millions/TransactionArchiveTest.java index bdc9ca8..64d1c2c 100644 --- a/src/test/java/millions/TransactionArchiveTest.java +++ b/src/test/java/millions/TransactionArchiveTest.java @@ -2,4 +2,45 @@ import static org.junit.jupiter.api.Assertions.*; -class TransactionArchiveTest {} +import java.math.BigDecimal; +import java.util.List; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class TransactionArchiveTest { + + TransactionArchive archive; + Purchase purchase; + Sale sale; + + @BeforeEach + public void setUp() { + archive = new TransactionArchive(); + Stock stock = new Stock("SUS", "Samsung", BigDecimal.valueOf(10)); + Share share = new Share(stock, 2, BigDecimal.valueOf(10)); + purchase = new Purchase(share, 1); + sale = new Sale(share, 2); + } + + @Test + public void testHappyPath() { + assertTrue(archive.isEmpty()); + archive.add(purchase); + assertFalse(archive.isEmpty()); + } + + @Test + public void testNullsAndInvalid() { + archive.add(purchase); + assertFalse(archive.add(purchase)); + } + + @Test + public void testGetters() { + archive.add(purchase); + archive.add(sale); + assertEquals(List.of(purchase), archive.getPurchases(1)); + assertEquals(List.of(sale), archive.getSales(2)); + assertEquals(2, archive.countDistinctWeeks()); + } +}