diff --git a/src/main/java/millions/model/Stock.java b/src/main/java/millions/model/Stock.java index f470e6b..65b70da 100644 --- a/src/main/java/millions/model/Stock.java +++ b/src/main/java/millions/model/Stock.java @@ -73,7 +73,7 @@ public BigDecimal getLatestPriceChange() { } BigDecimal currentPrice = this.prices.getLast(); - BigDecimal lastPrice = this.prices.get(this.prices.size() - 1); + BigDecimal lastPrice = this.prices.get(this.prices.size() - 2); return currentPrice.subtract(lastPrice); } diff --git a/src/test/java/millions/StockTest.java b/src/test/java/millions/StockTest.java index 50afb44..452db31 100644 --- a/src/test/java/millions/StockTest.java +++ b/src/test/java/millions/StockTest.java @@ -5,7 +5,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; - +import java.util.List; import millions.model.Stock; import org.junit.jupiter.api.Test; @@ -27,6 +27,15 @@ public void settersAndGetters() { assertEquals("Nvadia", stock.getCompany()); } + @Test + public void testGetPriceChange() { + ArrayList prices = new ArrayList<>(List.of(BigDecimal.valueOf(100), BigDecimal.valueOf(125))); + Stock stock = new Stock("AAPL", "Apple", prices); + assertEquals(BigDecimal.valueOf(25), stock.getLatestPriceChange()); + stock.addNewSalesPrice(BigDecimal.valueOf(155)); + assertEquals(BigDecimal.valueOf(30), stock.getLatestPriceChange()); + } + @Test public void testNullsAndInvalid() {