@@ -0,0 +1,2354 @@
+package seedu.address.testutil;%0A%0Aimport seedu.address.model.tag.UniqueTagList;%0Aimport seedu.address.model.task.Deadline;%0Aimport seedu.address.model.task.Description;%0Aimport seedu.address.model.task.IdentificationNumber;%0Aimport seedu.address.model.task.Name;%0Aimport seedu.address.model.task.ReadOnlyTask;%0A%0A/**%0A * A mutable task object. For testing only.%0A */%0Apublic class TestTask implements ReadOnlyTask %7B%0A%0A    private Name name;%0A    private Deadline deadline;%0A    private Description description;%0A    private IdentificationNumber id;%0A    private UniqueTagList tags;%0A%0A    public TestTask() %7B%0A        tags = new UniqueTagList();%0A    %7D%0A%0A    /**%0A     * Creates a copy of %7B@code taskToCopy%7D.%0A     */%0A    public TestTask(TestTask taskToCopy) %7B%0A        this.name = taskToCopy.getName();%0A        this.deadline = taskToCopy.getDeadline();%0A        this.description = taskToCopy.getDescription();%0A        this.id = taskToCopy.getID();%0A        this.tags = taskToCopy.getTags();%0A    %7D%0A%0A    public void setName(Name name) %7B%0A        this.name = name;%0A    %7D%0A%0A    public void setDeadline(Deadline deadline) %7B%0A        this.deadline = deadline;%0A    %7D%0A%0A    public void setDescription(Description description) %7B%0A        this.description = description;%0A    %7D%0A%0A    public void setID(IdentificationNumber id) %7B%0A        this.id = id;%0A    %7D%0A%0A    public void setTags(UniqueTagList tags) %7B%0A        this.tags = tags;%0A    %7D%0A%0A    @Override%0A    public Name getName() %7B%0A        return name;%0A    %7D%0A%0A    @Override%0A    public Deadline getDeadline() %7B%0A        return deadline;%0A    %7D%0A%0A    @Override%0A    public Description getDescription() %7B%0A        return description;%0A    %7D%0A%0A    @Override%0A    public IdentificationNumber getID() %7B%0A        return id;%0A    %7D%0A%0A    @Override%0A    public UniqueTagList getTags() %7B%0A        return tags;%0A    %7D%0A%0A    @Override%0A    public String toString() %7B%0A        return getAsText();%0A    %7D%0A%0A    public String getAddCommand() %7B%0A        StringBuilder sb = new StringBuilder();%0A        sb.append(%22add %22 + this.getName().name + %22 %22);%0A        sb.append(%22a/%22 + this.getDeadline().date.toString() + %22 %22);%0A        sb.append(%22p/%22 + this.getDescription().description + %22 %22);%0A        sb.append(%22e/%22 + this.getID().value.toString() + %22 %22);%0A        this.getTags().asObservableList().stream().forEach(s -%3E sb.append(%22t/%22 + s.tagName + %22 %22));%0A        return sb.toString();%0A    %7D%0A%7D%0A

Add TestTask class