Skip to content

Commit

Permalink
Merge 4f8a1e4 into 5ce9dfa
Browse files Browse the repository at this point in the history
  • Loading branch information
Yichen-D committed Nov 6, 2016
2 parents 5ce9dfa + 4f8a1e4 commit ab156e5
Show file tree
Hide file tree
Showing 19 changed files with 5,760 additions and 3,254 deletions.
518 changes: 518 additions & 0 deletions SampleData.xml

Large diffs are not rendered by default.

72 changes: 48 additions & 24 deletions collated/docs/A0135782Y.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,68 @@
# A0135782Y
###### \DeveloperGuide.md
``` md
<img src="images/SD_Delete_Floating_Task.png" width="800">
<img src="images/SD_Delete_Floating_Task.png" width="600">
```
###### \DeveloperGuide.md
``` md
<img src="images/SD_Update_Task.png" width="800">
<img src="images/SD_Update_Task.png" width="600">
```
###### \DeveloperGuide.md
``` md
The _Sequence Diagram_ below show how recurring tasks are handled when they are first added by the user into Happy Jim Task Master.

<img src="images/SD_add_recurring_tasks.png" width="800"><br>
<img src="images/SD_add_recurring_tasks.png" width="600"><br>

> Note task is a Task reference from the Model and thus any changes made in the RecurringTaskManager will mutate the values of the task.

The _Sequence Diagram_ below show how recurring tasks have dates appended to them every startup of Happy Jim Task Master

<img src="images/SD_update_recurring_tasks.png" width="800"><br>
<img src="images/SD_update_recurring_tasks.png" width="600"><br>

> Note that repeatingTasks is a reference to the UniqueTaskList from the TaskMaster. Any changes made to repeatingTasks in RecurringTaskManager will affect TaskMaster's version of UniqueTaskList.

The _Activity Diagram_ below shows the flow when a Task is being added in TaskMaster.

<img src="images/AD_add_task.png" width="600"><br>

The _Object Oriented Model_ below shows how the problem of adding recurring tasks is handled.

<img src="images/OOM_recurring_task.png" width="600"><br>

```
###### \DeveloperGuide.md
``` md
<img src="images/UI Component.png" width="800"><br>
<img src="images/UI Component.png" width="600"><br>
```
###### \DeveloperGuide.md
``` md
_Unit tests_ targeting the lowest level methods/classes. Below are some snippets, <br>
**Unit tests**. Below are some snippets, <br>

_TaskTester.java_<br>
<img src="images/unit_test_TaskTester_A.png" width="600"><br>

_Task.java_<br>
<img src="images/test_snippet_Task.PNG" width="800"><br>
_TaskTesterHelper.java_<br>
<img src="images/unit_test_TaskTester_B.png" width="600"><br>

_RecurringTaskManager.java_<br>
<img src="images/test_snippet_RecurringTaskManager.PNG" width="800"><br>
> Note that dependency injection is used to ensure that only Task class is being tested.<br>
> The rest of the stubs are injected into the dependencies for Task.<br>
> This isolates Task from its dependencies and allows us to test only Task.

_Integration tests_ that are checking the integration of multiple code units
(those code units are assumed to be working). Below are some snippets, <br>
**Integration tests**. Below are some snippets, <br>

_XmlTaskListStorage.java_<br>
<img src="images/test_snipper_XmlTaskListStorage.PNG" width="800"><br>
```
###### \DeveloperGuide.md
``` md
_LogicManagerTest.java_
<img src="images/test_snippet_LogicManagerTest.PNG" width="800"><br>
_RecurringTaskManagerTest.java_<br>
<img src="images/integration_test_RecurringTaskManager.png" width="600"><br>

> Note recurring manager is being tested if it is correctly wired to it dependency.
> In this case the dependency is UniqueTaskList.

_UniqueTaskListTest.java_<br>
<img src="images/integration_test_UniqueTaskList.png" width="600"><br>

> Note that dependency injection is used to isolate Task.
> Dependencies of Task is replaced with stubs that does nothing.
> This allows us to test if UniqueTaskList works together with Task.

```
###### \DeveloperGuide.md
``` md
Expand All @@ -60,7 +78,7 @@ Product Name | Strengths | Weaknesses
```
###### \UserGuide.md
``` md
#### Adding a floating task: `add`
#### Adding a floating task : `add`
Adds a task to the todo list<br>
Format:`add TASK_NAME [t/TAG]...`

Expand All @@ -70,28 +88,34 @@ Examples:
<img src="images/ug_add_floating_before.PNG" width="600">
<img src="images/ug_add_floating_after.PNG" width="600">

#### Adding a task with deadline: `add`
Format: `add TASK_NAME by DATE TIME [RECURRING_TYPE] [t/TAG]...`
#### Adding a task with deadline : `add`
Format: `add TASK_NAME by DATE TIME [RECURRING_TYPE] [repeat REPEAT_PERIOD] [t/TAG]...`

> `RECURRING_TYPE` consists of daily, weekly, monthly and yearly case insensitive.
> Tasks can have only 1 `RECURRING_TYPE`.
> If multiple `RECURRING_TYPE` are used, only the first instance will be accepted.
> `REPEAT_PERIOD` is the number of recurring task to be tracked
> If `REPEAT_PERIOD` is not entered as a number [repeat REPEAT_PERIOD] will be ignored

Examples: <br>
* `add Homework by 24 sep 8pm t/CS1231`
* `add Homework by 24 sep 6pm daily t/CS1231`
* `add Homework by 24 sep 7.15pm daily repeat 4 t/CS1231`
<img src="images/ug_add_by_date_before.PNG" width="600">
<img src="images/ug_add_by_date_after.PNG" width="600">

#### Adding a task with start time and end time: `add`
Format: `add TASK_NAME from DATE TIME to DATE TIME [RECURRING_TYPE] [t/TAG]...`
#### Adding a task with start time and end time : `add`
Format: `add TASK_NAME from DATE TIME to DATE TIME [RECURRING_TYPE] [repeat REPEAT_PERIOD] [t/TAG]...`

> `RECURRING_TYPE` consists of daily, weekly, monthly and yearly case insensitive.
> Tasks can have only 1 `RECURRING_TYPE`.
> If multiple `RECURRING_TYPE` are used, only the first instance will be accepted.
> `REPEAT_PERIOD` is the number of recurring task to be tracked
> If `REPEAT_PERIOD` is not entered as a number [repeat REPEAT_PERIOD] will be ignored

Examples:
* `add Homework from 24 sep 8pm to 25 sep 9pm tag/CS1231`
* `add Homework from 24 sep 7.15pm to 25 sep 9pm daily repeat 4 t/CS1231`
* `add Homework from today 8.03pm to today 8.15pm t/CS1231`
<img src="images/ug_add_fromto_date_before.PNG" width="600">
<img src="images/ug_add_fromto_date_after.PNG" width="600">
Expand Down
7 changes: 4 additions & 3 deletions collated/docs/A0135784W.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
``` md

## Features
### Command Format

> **Command Format**
> * Each command consists of a command word (such as add or delete), followed by other options such as DATE,TIME or [t/TAG]
> * Words in `UPPER_CASE` are the description of what kind data to input.
> * Items in `SQUARE_BRACKETS` `[items]` are optional.
Expand All @@ -40,8 +41,8 @@ For a full list of acceptable formats, please refer to http://natty.joestelmach.
Command | Format
-------- | :--------
Add | `add TASK_NAME [t/TAG]...`
Add | `add TASK_NAME by DATE TIME [RECURRING_TYPE] [t/TAG]...`
Add | `add TASK_NAME from DATE TIME to DATE TIME [RECURRING_TYPE] [t/TAG]...`
Add | `add TASK_NAME by DATE TIME [RECURRING_TYPE] [repeat REPEAT_PERIOD] [t/TAG]...`
Add | `add TASK_NAME from DATE TIME to DATE TIME [RECURRING_TYPE] [repeat REPEAT_PERIOD] [t/TAG]...`
Edit | `edit TASK_ID [from EDIT_START_DATE EDIT_START_TIME to EDIT_END_DATE EDIT_END_TIME] [by EDIT_END_DATE EDIT_END_TIME] [t/EDIT_TAG]...`
Delete | `delete TASK_ID`
Complete | `done TASK_ID`
Expand Down
11 changes: 7 additions & 4 deletions collated/docs/A0147967J.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
``` md
The _Sequence Diagram_ below shows how Happy Jim Task Master handles undo request from user.

<img src="images/UndoSequenceDiagram.jpg" width="800"><br>
<img src="images/UndoSequenceDiagram.jpg" width="600"><br>

> Note that the context is a class that stores previous task master in the previous model before the target command executes.

The _Class Diagram_ below shows the structure of how Happy Jim Task Master implements undo and redo operations.

<img src="images/URManager.jpg" width="800"><br>
<img src="images/URManager.jpg" width="600"><br>

> Note that LogicManager maintains an URManager. UR manager contains two ArrayDeque, one for undo and the other for redo,
> to store the command and its context, specifically, the model before the command executes.
Expand Down Expand Up @@ -94,6 +94,9 @@ The _Class Diagram_ below shows the structure of how Happy Jim Task Master imple
*`find by 20 oct 10.59am` --> smaller boundary, lists nothing;<br>
*`find by 20 oct 11.01am` --> lax boundary, task found.<br>
> Note that this is a test not merely for `logic`, but also `parser` and `model`.<br>
_
_LogicManagerTest.java_
<img src="images/test_snippet_LogicManagerTest.PNG" width="800"><br>
```
###### \UserGuide.md
``` md
Expand Down Expand Up @@ -140,7 +143,7 @@ Examples:
<img src="images/beforeredo.png" width="600">
<img src="images/afterredo.png" width="600">

#### View agenda of a day: `view`
#### View agenda of a day : `view`
Format: view DATE [TIME]

Examples:
Expand All @@ -154,7 +157,7 @@ Examples:
###### \UserGuide.md
``` md

#### Change directory: `cd`
#### Change directory : `cd`
Format: cd FILE_PATH

Examples:
Expand Down
2 changes: 1 addition & 1 deletion collated/docs/A0147995H.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Examples: <br>

<img src="images/find_command_4.png" width="600">

#### Undo tasks : `clear`
#### Clear the task master : `clear`
Format: clear

> clears all the tasks
Expand Down
Loading

0 comments on commit ab156e5

Please sign in to comment.