Skip to content

Commit

Permalink
Feat: Unit tests for FileParser
Browse files Browse the repository at this point in the history
  • Loading branch information
tommyah committed Mar 11, 2026
1 parent 741b917 commit a5b9485
Showing 1 changed file with 44 additions and 2 deletions.
46 changes: 44 additions & 2 deletions src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/FileParserTest.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
package edu.ntnu.idi.idatt2003.g40.mappe;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

import static org.junit.jupiter.api.Assertions.*;

Expand All @@ -11,8 +18,43 @@ class FileParserTest {
private final String filePath = "src/main/resources/dummydata.txt";
FileParser fileParser;

@Test
void test1() {
private final String validStockFromFile = "NVID, Nvidida Corporation, 241.591";

private final String invalidStockFromFile = "COOLI, This is a cool name, 252.2";

private final String commentFromFile = "#Above me are some valid formats.";

private List<String> allLines = new ArrayList<>();

private List<String> validStocks = new ArrayList<>();

@BeforeEach
void setUp() throws Exception {
fileParser = new FileParser(filePath);
Path path = Paths.get(filePath);
allLines = Files.readAllLines(path);
try {
validStocks = fileParser.readFile();
} catch (Exception _) {
throw new Exception("Test failed");
}
}

@Test
void parser_gets_valid_stock_from_file() {
assertTrue(allLines.contains(validStockFromFile));
assertTrue(validStocks.contains(validStockFromFile));
}

@Test
void parser_skips_comments_from_file() {
assertTrue(allLines.contains(commentFromFile));
assertFalse(validStocks.contains(commentFromFile));
}

@Test
void parser_skips_invalid_stock_from_file() {
assertTrue(allLines.contains(invalidStockFromFile));
assertFalse(validStocks.contains(invalidStockFromFile));
}
}

0 comments on commit a5b9485

Please sign in to comment.