From 60d38720f218e402632ff90e122e45062ec04434 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 6 Mar 2026 12:22:18 +0100 Subject: [PATCH] Changing call order, adding null checks --- src/main/java/millions/Exchange.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/millions/Exchange.java b/src/main/java/millions/Exchange.java index 372d44b..57d077c 100644 --- a/src/main/java/millions/Exchange.java +++ b/src/main/java/millions/Exchange.java @@ -28,17 +28,23 @@ public Exchange(String name, List stockList) { } } - public void buy(Player player, Stock stock, BigDecimal quantity) { + public void buy(String symbol, Player player, BigDecimal quantity) { + + Stock stock = this.stocks.get(symbol); + if (stock == null) { + throw new IllegalArgumentException("Stock not found"); + } + Share shareToBuy = new Share(stock, quantity, stock.getSalesPrice()); Purchase purchase = new Purchase(shareToBuy, this.weekNumber); purchase.commit(player); } - public void buy(Player player, Stock stock, int quantity) { - this.buy(player, stock, BigDecimal.valueOf(quantity)); + public void buy(String symbol, Player player, int quantity) { + this.buy(symbol, player, BigDecimal.valueOf(quantity)); } - public void sell(Player player, Share share) { + public void sell(Share share, Player player) { Sale sale = new Sale(share, weekNumber); sale.commit(player); }