package seedu.ezdo.model.util;

import seedu.ezdo.commons.exceptions.IllegalValueException;
import seedu.ezdo.model.EzDo;
import seedu.ezdo.model.ReadOnlyEzDo;
import seedu.ezdo.model.tag.UniqueTagList;
import seedu.ezdo.model.todo.DueDate;
import seedu.ezdo.model.todo.Name;
import seedu.ezdo.model.todo.Priority;
import seedu.ezdo.model.todo.StartDate;
import seedu.ezdo.model.todo.Task;
import seedu.ezdo.model.todo.UniqueTaskList.DuplicateTaskException;

public class SampleDataUtil {
    public static Task[] getSampleTasks() {
        try {
            return new Task[] {
                new Task(new Name("Buy one cherry fruit"), new Priority("1"),
                    new StartDate("12/12/2017"),
                    new DueDate("12/13/2018"),
                    new UniqueTagList("groceries")),
                new Task(new Name("Study for two midterms"), new Priority("2"),
                    new StartDate("12/12/2017"),
                    new DueDate("12/09/2018"),
                    new UniqueTagList("school", "exams")),
                new Task(new Name("Buy ps three"), new Priority("3"),
                    new StartDate("12/12/2017"),
                    new DueDate("12/10/2018"),
                    new UniqueTagList("personal")),
                new Task(new Name("Visit four neighbours"), new Priority("2"),
                    new StartDate("12/12/2017"),
                    new DueDate("12/11/2018"),
                    new UniqueTagList("personal")),
                new Task(new Name("Prepare for five finals"), new Priority("3"),
                    new StartDate("12/12/2017"),
                    new DueDate("12/12/2018"),
                    new UniqueTagList("school", "exams")),
                new Task(new Name("Prepare six presentations"), new Priority("3"),
                    new StartDate("12/12/2017"),
                    new DueDate("12/12/2018"),
                    new UniqueTagList("school", "exams"))
            };
        } catch (IllegalValueException e) {
            throw new AssertionError("sample data cannot be invalid", e);
        }
    }

    public static ReadOnlyEzDo getSampleEzDo() {
        try {
            EzDo sampleEzDo = new EzDo();
            for (Task sampleTask : getSampleTasks()) {
                sampleEzDo.addTask(sampleTask);
            }
            return sampleEzDo;
        } catch (DuplicateTaskException e) {
            throw new AssertionError("sample data cannot contain duplicate tasks", e);
        }
    }
}

@@ -308,16 +308,52 @@
 iority;%0A
+import seedu.ezdo.model.todo.Recur;%0A
 import s
@@ -488,16 +488,37 @@
 ption;%0A%0A
+//@@author A0139177W%0A
 public c
@@ -687,16 +687,36 @@
 fruit%22),
+%0A                   
  new Pri
@@ -764,32 +764,38 @@
 Date(%2212/12/2017
+ 12:34
 %22),%0A            
@@ -821,24 +821,30 @@
 (%2212/13/2018
+ 20:00
 %22),%0A        
@@ -846,32 +846,52 @@
                 
+ new Recur(%22daily%22),
  new UniqueTagLi
@@ -964,24 +964,44 @@
  midterms%22),
+%0A                   
  new Priorit
@@ -1045,32 +1045,38 @@
 Date(%2212/12/2017
+ 09:00
 %22),%0A            
@@ -1102,24 +1102,65 @@
 (%2212/09/2018
+ 21:30%22),%0A                    new Recur(%22
 %22),%0A        
@@ -1260,16 +1260,36 @@
 three%22),
+%0A                   
  new Pri
@@ -1388,32 +1388,67 @@
 (%2212/10/2018%22),%0A
+                    new Recur(%22%22),%0A
                 
@@ -1538,24 +1538,44 @@
 eighbours%22),
+%0A                   
  new Priorit
@@ -1619,32 +1619,38 @@
 Date(%2212/12/2017
+ 10:30
 %22),%0A            
@@ -1676,24 +1676,71 @@
 (%2212/11/2018
+ 19:30%22),%0A                    new Recur(%22weekly
 %22),%0A        
@@ -1840,24 +1840,44 @@
 ve finals%22),
+%0A                   
  new Priorit
@@ -1921,32 +1921,38 @@
 Date(%2212/12/2017
+ 09:00
 %22),%0A            
@@ -1974,32 +1974,79 @@
 Date(%2212/12/2018
+ 23:59%22),%0A                    new Recur(%22yearly
 %22),%0A            
@@ -2155,16 +2155,36 @@
 tions%22),
+%0A                   
  new Pri
@@ -2182,33 +2182,33 @@
   new Priority(%22
-3
+1
 %22),%0A            
@@ -2232,32 +2232,38 @@
 Date(%2212/12/2017
+ 17:30
 %22),%0A            
@@ -2289,24 +2289,72 @@
 (%2212/12/2018
+ 22:00%22),%0A                    new Recur(%22monthly
 %22),%0A        
@@ -2492,33 +2492,33 @@
 AssertionError(%22
-s
+S
 ample data canno
@@ -2889,17 +2889,17 @@
 nError(%22
-s
+S
 ample da
@@ -2954,10 +2954,25 @@
 %7D%0A    %7D%0A
+    //@@author%0A
 %7D%0A

Update SampleDataUtil with recur field