diff --git a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PortfolioTest.java b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PortfolioTest.java index 3518005..c8a5e3a 100644 --- a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PortfolioTest.java +++ b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PortfolioTest.java @@ -1,3 +1,80 @@ -public class PortfolioTest { - -} +package edu.ntnu.idi.idatt2003.g40.mappe; + +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class PortfolioTest { + + @Test + void addShareAddsShareToPortfolio() { + Portfolio portfolio = new Portfolio(); + Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150")); + Share share = new Share(stock, new BigDecimal("2"), new BigDecimal("100")); + + boolean result = portfolio.addShare(share); + + assertTrue(result); + assertTrue(portfolio.contains(share)); + } + + @Test + void removeShareRemovesShareFromPortfolio() { + Portfolio portfolio = new Portfolio(); + Stock stock = new Stock("TSLA", "Tesla", new BigDecimal("200")); + Share share = new Share(stock, new BigDecimal("1"), new BigDecimal("200")); + + portfolio.addShare(share); + boolean result = portfolio.removeShare(share); + + assertTrue(result); + assertFalse(portfolio.contains(share)); + } + + @Test + void getSharesReturnsAllShares() { + Portfolio portfolio = new Portfolio(); + + Stock stock = new Stock("AAPL", "Apple", new BigDecimal("150")); + Share share = new Share(stock, new BigDecimal("3"), new BigDecimal("150")); + + portfolio.addShare(share); + + List shares = portfolio.getShares(); + + assertEquals(1, shares.size()); + assertTrue(shares.contains(share)); + } + + @Test + void getSharesWithSymbolReturnsMatchingShares() { + Portfolio portfolio = new Portfolio(); + + Stock apple = new Stock("AAPL", "Apple", new BigDecimal("150")); + Stock tesla = new Stock("TSLA", "Tesla", new BigDecimal("200")); + + Share appleShare = new Share(apple, new BigDecimal("1"), new BigDecimal("150")); + Share teslaShare = new Share(tesla, new BigDecimal("1"), new BigDecimal("200")); + + portfolio.addShare(appleShare); + portfolio.addShare(teslaShare); + + List result = portfolio.getShares("AAPL"); + + assertEquals(1, result.size()); + assertTrue(result.contains(appleShare)); + } + + @Test + void containsReturnsFalseWhenShareNotPresent() { + Portfolio portfolio = new Portfolio(); + + Stock stock = new Stock("NVDA", "Nvidia", new BigDecimal("800")); + Share share = new Share(stock, new BigDecimal("1"), new BigDecimal("800")); + + assertFalse(portfolio.contains(share)); + } +} \ No newline at end of file diff --git a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java index 6737cf2..4ebae9c 100644 --- a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java +++ b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/PurchaseCalculatorTest.java @@ -1,3 +1,3 @@ public class PurchaseCalculatorTest { - + }