From b9b34095913b44f8e690ff7331f8da8726a9e8cd Mon Sep 17 00:00:00 2001 From: Haoming Yin Date: Sun, 5 Mar 2017 21:21:22 +1300 Subject: [PATCH] Added tests for FileParser class, as well as test files --- src/test/java/seng302/FileParserTest.java | 53 +++++++++++++++++++++++ src/test/java/seng302/invalid.json | 5 +++ src/test/java/seng302/valid.json | 5 +++ 3 files changed, 63 insertions(+) create mode 100644 src/test/java/seng302/FileParserTest.java create mode 100644 src/test/java/seng302/invalid.json create mode 100644 src/test/java/seng302/valid.json diff --git a/src/test/java/seng302/FileParserTest.java b/src/test/java/seng302/FileParserTest.java new file mode 100644 index 00000000..05c71a9e --- /dev/null +++ b/src/test/java/seng302/FileParserTest.java @@ -0,0 +1,53 @@ +package seng302; + +import org.junit.Test; + +import java.io.FileNotFoundException; +import java.util.ArrayList; + +import static org.junit.Assert.*; + +/** Unit test for FileParser class + * Created by Haoming on 5/03/17. + */ +public class FileParserTest { + + /* + test if it fails from reading non existed file + */ + @Test (expected = FileNotFoundException.class) + public void readNonExistedFile() throws Exception { + FileParser fileParser = new FileParser("test/java/seng302/non-existed.json"); + } + + /* + test a valid json file with valid content. + */ + @Test + public void readValidFile() throws Exception{ + FileParser fileParser = new FileParser("src/test/java/seng302/valid.json"); + + assertEquals(fileParser.getRaceName(), "IDK"); + + ArrayList teams = new ArrayList<>(); + teams.add("team1"); + teams.add("team2"); + teams.add("team3"); + assertTrue(teams.equals(fileParser.getTeams())); + } + + /* + test an invalid json file within wrong type value and misnamed + variable name. + */ + @Test + public void readInvaldFile() throws Exception { + FileParser fileParser = new FileParser("src/test/java/seng302/invalid.json"); + + assertEquals(fileParser.getRaceName(), null); + assertEquals(fileParser.getTeams(), null); + assertEquals(fileParser.getTimeScale(), -1); + assertEquals(fileParser.getTeams(), null); + } + +} \ No newline at end of file diff --git a/src/test/java/seng302/invalid.json b/src/test/java/seng302/invalid.json new file mode 100644 index 00000000..43331785 --- /dev/null +++ b/src/test/java/seng302/invalid.json @@ -0,0 +1,5 @@ +{ + "time-scale": "abc", + "race-name": 123, + "teams-with-wrong-name":["team1","team2","team3"] +} \ No newline at end of file diff --git a/src/test/java/seng302/valid.json b/src/test/java/seng302/valid.json new file mode 100644 index 00000000..21b0c2dc --- /dev/null +++ b/src/test/java/seng302/valid.json @@ -0,0 +1,5 @@ +{ + "time-scale": 100, + "race-name": "IDK", + "teams":["team1","team2","team3"] +} \ No newline at end of file