Skip to content

Commit

Permalink
3 basic JUnit tests done
Browse files Browse the repository at this point in the history
  • Loading branch information
TanZhanMing committed Aug 27, 2019
1 parent e1a34f1 commit a1ff9ce
Show file tree
Hide file tree
Showing 7 changed files with 106 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/main/java/Event.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

public class Event extends Task {

protected String at;
public String at;
protected Date date;

public Event(String description, String at) {
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/FileWriting.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

public class FileWriting {
public static void writeToFile(ArrayList<Task> taskList) throws IOException {
File directory = new File("data");
if (! directory.exists()){
directory.mkdir();
}
File tmp = new File("data/temp.txt");
if(!tmp.createNewFile()){
Files.delete(Paths.get("data/temp.txt"));
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/ModifyTaskList.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ protected void changeTaskList (ArrayList<Task> taskList, int taskNumber, Duke.Ac
}
if (action == Duke.Action.DONE){
try {
ui.taskDone(taskList, taskNumber);
taskList.get(taskNumber).setDone();
ui.taskDone(taskList, taskNumber);
FileWriting.writeToFile(taskList);
}
catch (IndexOutOfBoundsException | IOException err){
Expand Down
3 changes: 3 additions & 0 deletions src/test/data/duke.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
T @ finish JUnit testing @ false
D @ finish Project @ true @ Sat Apr 20 00:00:00 SGT 2019
E @ game event @ false @ Wed Dec 23 00:00:00 SGT 2020
22 changes: 22 additions & 0 deletions src/test/java/FileReadingTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

import java.io.IOException;
import java.util.ArrayList;

public class FileReadingTest {

@Test
public void fileReadTest() throws IOException {
ArrayList<Task> taskList = new ArrayList<>(100);
ModifyTaskListTest modifyTaskListTest = new ModifyTaskListTest();
modifyTaskListTest.modifyTest();
FileReading.checkFileExists(taskList);
String expectedOutput1 = "[T][✘] finish JUnit testing";
String expectedOutput2 = "[D][✓] finish Project (by: Sat Apr 20 00:00:00 SGT 2019)";
String expectedOutput3 = "[E][✘] game event (at: Wed Dec 23 00:00:00 SGT 2020)";
assertEquals(expectedOutput1, taskList.get(0).toString());
assertEquals(expectedOutput2, taskList.get(1).toString());
assertEquals(expectedOutput3, taskList.get(2).toString());
}
}
33 changes: 33 additions & 0 deletions src/test/java/InputParserTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

import java.io.IOException;
import java.util.ArrayList;

public class InputParserTest {


@Test
public void inputTest() throws IOException {

ArrayList<Task> taskList = new ArrayList<>(100);
InputParser inputParser = new InputParser(taskList);
String input1 = "todo finish JUnit testing";
String input2 = "random nonsense";
String input3 = "deadline finish Project /by 20/04/2019";
String input4 = "event game event /at 23-DEC-2020";
String input5 = "bye";
String input6 = "deadline will never surface /by 22/11/2039";
String input7 = "more random nonsense";

inputParser.actionDeterminer(input1);
inputParser.actionDeterminer(input2);
inputParser.actionDeterminer(input3);
inputParser.actionDeterminer(input4);
inputParser.actionDeterminer(input5);
inputParser.actionDeterminer(input6);
inputParser.actionDeterminer(input7);

assertEquals(4, taskList.size());
}
}
42 changes: 42 additions & 0 deletions src/test/java/ModifyTaskListTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

import java.io.IOException;
import java.util.ArrayList;
public class ModifyTaskListTest {

@Test
public void modifyTest() throws IOException {

ArrayList<Task> taskList = new ArrayList<>(100);
InputParser inputParser = new InputParser(taskList);
String input1 = "todo finish JUnit testing";
String input2 = "todo to-be-removed";
String input3 = "random nonsense";
String input4 = "deadline finish Project /by 20/04/2019";
String input5 = "event game event /at 23-DEC-2020";
String input6 = "bye";
String input7 = "deadline will never surface /by 22/11/2039";
String input8 = "done 3";
String input9 = "delete 5";
String input10 = "delete 2";
String expectedOutput1 = "[T][✘] finish JUnit testing";
String expectedOutput2 = "[D][✓] finish Project (by: Sat Apr 20 00:00:00 SGT 2019)";
String expectedOutput3 = "[E][✘] game event (at: Wed Dec 23 00:00:00 SGT 2020)";

inputParser.actionDeterminer(input1);
inputParser.actionDeterminer(input2);
inputParser.actionDeterminer(input3);
inputParser.actionDeterminer(input4);
inputParser.actionDeterminer(input5);
inputParser.actionDeterminer(input6);
inputParser.actionDeterminer(input7);
inputParser.actionDeterminer(input8);
inputParser.actionDeterminer(input9);
inputParser.actionDeterminer(input10);

assertEquals(expectedOutput1, taskList.get(0).toString());
assertEquals(expectedOutput2, taskList.get(1).toString());
assertEquals(expectedOutput3, taskList.get(2).toString());
}
}

0 comments on commit a1ff9ce

Please sign in to comment.