Skip to content

Commit 963df12

Browse files
committed
init repo
0 parents  commit 963df12

File tree

7 files changed

+181
-0
lines changed

7 files changed

+181
-0
lines changed

ToDoList Workshop Java.iml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager">
4+
<output url="file://$MODULE_DIR$/bin" />
5+
<exclude-output />
6+
<content url="file://$MODULE_DIR$">
7+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
8+
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="false" />
9+
</content>
10+
<orderEntry type="jdk" jdkName="JavaSE-1.8" jdkType="JavaSDK" />
11+
<orderEntry type="sourceFolder" forTests="false" />
12+
<orderEntry type="module-library">
13+
<library name="junit4">
14+
<CLASSES>
15+
<root url="jar://$APPLICATION_HOME_DIR$/lib/junit4.jar!/" />
16+
</CLASSES>
17+
<JAVADOC />
18+
<SOURCES />
19+
</library>
20+
</orderEntry>
21+
</component>
22+
</module>
927 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package sg.edu.nus.iss.epat.tdd.workshop;
2+
3+
public class Task {
4+
private String description;
5+
private boolean isComplete;
6+
7+
public Task(String description) {
8+
this(description, false);
9+
}
10+
11+
public Task(String description, boolean isComplete) {
12+
this.description = description;
13+
this.isComplete = isComplete;
14+
}
15+
16+
public String getDescription() {
17+
return description;
18+
}
19+
20+
public void setDescription(String description) {
21+
this.description = description;
22+
}
23+
24+
public boolean isComplete() {
25+
return isComplete;
26+
}
27+
28+
public void setComplete(boolean isComplete) {
29+
this.isComplete = isComplete;
30+
}
31+
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package sg.edu.nus.iss.epat.tdd.workshop;
2+
import java.util.Collection;
3+
import java.util.HashMap;
4+
import java.util.List;
5+
import java.util.stream.Collectors;
6+
7+
public class ToDoList {
8+
private HashMap<String, Task> tasks = new HashMap<String, Task>();
9+
10+
public void addTask(Task task) {
11+
tasks.put(task.getDescription(), task);
12+
}
13+
14+
public void completeTask(String description) {
15+
tasks.get(description).setComplete(true);
16+
}
17+
18+
public boolean getStatus(String description) {
19+
return tasks.get(description).isComplete();
20+
}
21+
22+
public Task getTask(String description) {
23+
return tasks.get(description);
24+
}
25+
26+
public Task removeTask(String description) {
27+
return tasks.remove(description);
28+
}
29+
30+
public Collection<Task> getAllTasks() {
31+
return tasks.values();
32+
}
33+
34+
public Collection<Task> getCompletedTasks() {
35+
return tasks.values().stream().filter(Task::isComplete).collect(Collectors.toList());
36+
}
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package sg.edu.nus.iss.epat.tdd.workshop;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
import java.util.stream.Collectors;
6+
import org.junit.After;
7+
import org.junit.Assert;
8+
import org.junit.Before;
9+
import org.junit.Test;
10+
11+
import junit.framework.TestCase;
12+
13+
public class ToDoListTest extends TestCase {
14+
// Define Test Fixturest
15+
public ToDoList toDoList;
16+
public Task testlaksa = new Task("Eat Laksa");
17+
public Task testchips = new Task("Eat Chips");
18+
public Task testhotpot = new Task("Eat Hotpot");
19+
public Task testteh = new Task("Drink Teh", true);
20+
21+
public ToDoListTest() {
22+
super();
23+
}
24+
25+
@Override
26+
@Before
27+
public void setUp() throws Exception {
28+
// Initialise Test Fixtures
29+
toDoList = new ToDoList();
30+
toDoList.addTask(testlaksa);
31+
toDoList.addTask(testchips);
32+
toDoList.addTask(testhotpot);
33+
toDoList.addTask(testteh);
34+
}
35+
36+
@Override
37+
@After
38+
public void tearDown() throws Exception {
39+
// Uninitialise test Fixtures
40+
}
41+
42+
@Test
43+
public void testAddTask() {
44+
List<Task> result = new ArrayList<Task>(toDoList.getAllTasks());
45+
List<String> descriptions = result.stream().map(Task::getDescription).collect(Collectors.toList());
46+
assertTrue(descriptions.contains("Eat Laksa"));
47+
assertTrue(descriptions.contains("Eat Chips"));
48+
assertTrue(descriptions.contains("Eat Hotpot"));
49+
assertTrue(descriptions.contains("Drink Teh"));
50+
}
51+
52+
@Test
53+
public void testGetStatus() {
54+
Assert.assertFalse(toDoList.getStatus("Eat Laksa"));
55+
Assert.assertFalse(toDoList.getStatus("Eat Chips"));
56+
Assert.assertFalse(toDoList.getStatus("Eat Hotpot"));
57+
Assert.assertTrue(toDoList.getStatus("Drink Teh"));
58+
}
59+
60+
@Test
61+
public void testRemoveTask() {
62+
List<Task> result = new ArrayList<Task>(toDoList.getAllTasks());
63+
Assert.assertEquals(4, result.size());
64+
toDoList.removeTask("Eat Laksa");
65+
result = new ArrayList<Task>(toDoList.getAllTasks());
66+
Assert.assertEquals(3, result.size());
67+
}
68+
69+
@Test
70+
public void testGetCompletedTasks() {
71+
List<Task> result = new ArrayList<Task>(toDoList.getCompletedTasks());
72+
assertEquals("Drink Teh", result.get(0).getDescription());
73+
}
74+
75+
@Test
76+
public void testGetTask() {
77+
Task res = toDoList.getTask("Eat Laksa");
78+
assertEquals(res.getDescription(), "Eat Laksa");
79+
}
80+
81+
82+
@Test
83+
public void testCompleteTask() {
84+
Task res = toDoList.getTask("Eat Laksa");
85+
assertEquals(res.isComplete(), false);
86+
toDoList.completeTask("Eat Laksa");
87+
res = toDoList.getTask("Eat Laksa");
88+
assertEquals(res.isComplete(), true);
89+
}
90+
}

0 commit comments

Comments
 (0)