package seedu.taskboss.testutil;

import seedu.taskboss.commons.exceptions.IllegalValueException;
import seedu.taskboss.model.TaskBoss;
import seedu.taskboss.model.task.Task;
import seedu.taskboss.model.task.UniqueTaskList;

/**
 *
 */
public class TypicalTestTasks {

    public TestTask alice, benson, carl, daniel, elle, fiona, george, hoon, ida, johnny, kelvin;

    public TypicalTestTasks() {
        try {
            alice = new TaskBuilder().withName("Alice Pauline")
                    .withInformation("123, Jurong West Ave 6, #08-111")
                    .withPriorityLevel("Yes")
                    .withStartDateTime("Feb 18, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withCategories("friends").build();
            benson = new TaskBuilder().withName("Benson Meier")
                    .withInformation("311, Clementi Ave 2, #02-25")
                    .withPriorityLevel("No")
                    .withStartDateTime("Feb 19, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withCategories("owesMoney", "friends").build();
            carl = new TaskBuilder().withName("Carl Kurz").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 18, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("wall street").build();
            daniel = new TaskBuilder().withName("Daniel Meier").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 18, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("10th street").build();
            elle = new TaskBuilder().withName("Elle Meyer").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 19, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("michegan ave").build();
            fiona = new TaskBuilder().withName("Fiona Kunz").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 19, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("little tokyo").build();
            george = new TaskBuilder().withName("George Best").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 19, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("4th street").build();

            // Manually added
            hoon = new TaskBuilder().withName("Hoon Meier").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 19, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("little india").build();
            ida = new TaskBuilder().withName("Ida Mueller").withPriorityLevel("Yes")
                    .withStartDateTime("Feb 19, 2017 5pm")
                    .withEndDateTime("Feb 28, 2017 5pm")
                    .withInformation("chicago ave").build();
            johnny = new TaskBuilder().withName("Johnny Depp").withPriorityLevel("Yes")
                    .withStartDateTime("next sat 5pm")
                    .withEndDateTime("tomorrow")
                    .withInformation("Silicon Valley").build();
            kelvin = new TaskBuilder().withName("Kelvin Koo").withPriorityLevel("Yes")
                    .withStartDateTime("today 10am")
                    .withEndDateTime("next wed")
                    .withInformation("clementi ave 2").build();
        } catch (IllegalValueException e) {
            e.printStackTrace();
            assert false : "not possible";
        }
    }

    public static void loadTaskBossWithSampleData(TaskBoss ab) {
        for (TestTask task : new TypicalTestTasks().getTypicalTasks()) {
            try {
                ab.addTask(new Task(task));
            } catch (UniqueTaskList.DuplicateTaskException e) {
                assert false : "not possible";
            }
        }
    }

    public TestTask[] getTypicalTasks() {
        return new TestTask[]{alice, benson, carl, daniel, elle, fiona, george};
    }

    public TaskBoss getTypicalTaskBoss() {
        TaskBoss ab = new TaskBoss();
        loadTaskBossWithSampleData(ab);
        return ab;
    }
}

@@ -677,35 +677,35 @@
 ithEndDateTime(%22
-Feb
+Mar
  28, 2017 5pm%22)%0A
@@ -977,34 +977,35 @@
 teTime(%22Feb 
-19
+23
 , 2017 
-5
+10
 pm%22)%0A       
@@ -1027,35 +1027,35 @@
 ithEndDateTime(%22
-Feb
+Jun
  28, 2017 5pm%22)%0A
@@ -1248,33 +1248,34 @@
 eTime(%22Feb 1
-8
+9
 , 2017 
-5
+11
 pm%22)%0A       
@@ -1514,34 +1514,38 @@
 teTime(%22Feb 
-18
+20
 , 2017 
-5
+11.30
 pm%22)%0A       
@@ -1567,35 +1567,35 @@
 ithEndDateTime(%22
-Feb
+Apr
  28, 2017 5pm%22)%0A
@@ -1580,33 +1580,33 @@
 e(%22Apr 28, 2017 
-5
+3
 pm%22)%0A           
@@ -1776,34 +1776,34 @@
 rtDateTime(%22Feb 
-19
+22
 , 2017 5pm%22)%0A   
@@ -2044,34 +2044,34 @@
 teTime(%22Feb 
+2
 1
-9
 , 2017 
-5
+1
 pm%22)%0A       
@@ -2093,38 +2093,38 @@
 ithEndDateTime(%22
-Feb 28
+Dec 10
 , 2017 5pm%22)%0A   
@@ -2302,38 +2302,37 @@
 hStartDateTime(%22
-Feb
+Jan
  1
-9
 , 2017 5pm%22)%0A   
@@ -2358,35 +2358,35 @@
 ithEndDateTime(%22
-Feb
+Nov
  28, 2017 5pm%22)%0A
@@ -3388,13 +3388,16 @@
 me(%22
-today
+next tue
  10a

Modify dates in test cases::TypicalTestTasks