From 416665da484ac3844961a2cfae9fd5711dbccfdc Mon Sep 17 00:00:00 2001 From: = Date: Wed, 18 Mar 2026 09:47:14 +0100 Subject: [PATCH] Test: Added unit testing for file converter --- .../g40/mappe/FileConverterTest.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/FileConverterTest.java diff --git a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/FileConverterTest.java b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/FileConverterTest.java new file mode 100644 index 0000000..6404d78 --- /dev/null +++ b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/FileConverterTest.java @@ -0,0 +1,74 @@ +package edu.ntnu.idi.idatt2003.g40.mappe; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class FileConverterTest { + + private FileConverter converter; + + private String validStockAsString1; + private String validStockAsString2; + private String validStockAsString3; + private ArrayList allStocks; + private String invalidStockAsString1; + + @BeforeEach + void setUp() { + validStockAsString1 = "AAPL, Apple inc., 251.42"; + validStockAsString2 = "NVID, Nvidia corp., 100.25"; + validStockAsString3 = "SAMS, Samsung corporation, 103.21"; + + invalidStockAsString1 = "INVALID, This stock has an invalid code!, 100.21"; + + allStocks = new ArrayList<>(); + + allStocks.add(validStockAsString1); + allStocks.add(validStockAsString2); + allStocks.add(validStockAsString3); + allStocks.add(invalidStockAsString1); + + converter = new FileConverter(); + } + + @Test + void converter_returns_valid_stock_apple() { + + boolean stockIncluded = false; + + List stocksFromConverter = converter.getStocksFromStrings(allStocks); + + for (Stock s : stocksFromConverter) { + if (s.getSymbol().equals("AAPL")) { + stockIncluded = true; + break; + } + } + + Assertions.assertTrue(stockIncluded); + } + + @Test + void converter_ignores_invalid_stock_representation() { + + boolean stockIncluded = false; + + List stocksFromConverter = converter.getStocksFromStrings(allStocks); + + for (Stock s : stocksFromConverter) { + if (s.getSymbol().equals("INVALID")) { + stockIncluded = true; + break; + } + } + + Assertions.assertFalse(stockIncluded); + } +} \ No newline at end of file