@@ -0,0 +1,1656 @@
+//@@author A0138848M%0Apackage seedu.oneline.model.task;%0A%0Aimport static org.junit.Assert.*;%0A%0Aimport seedu.oneline.commons.exceptions.IllegalValueException;%0A%0Aimport org.junit.Rule;%0Aimport org.junit.Test;%0Aimport org.junit.rules.ExpectedException;%0A%0Apublic class TaskTimeTest %7B%0A    %0A    @Rule%0A    public ExpectedException thrown = ExpectedException.none();%0A    %0A    private void IllegalValueExceptionThrown(String inputTime, String errorMessage) throws Exception%7B%0A        thrown.expect(IllegalValueException.class);%0A        thrown.expectMessage(errorMessage);    %0A        new TaskTime(inputTime);%0A    %7D%0A%0A    // Tests for invalid time inputs to TaskTime constructor%0A    %0A    /**%0A     * Invalid equivalence partitions for time: null, empty, other strings%0A     */%0A    %0A    @Test%0A    public void constructor_nullTime_assertionThrown() %7B%0A        thrown.expect(AssertionError.class);%0A        try %7B%0A            new TaskTime(null);%0A        %7D catch (IllegalValueException e)%7B%0A            // should throw an assertion error instead of an illegal value exception%0A            assert false;%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void constructor_emptyTime_assertionThrown() throws Exception %7B%0A        IllegalValueExceptionThrown(%22%22, TaskTime.MESSAGE_TASK_TIME_CONSTRAINTS);%0A    %7D%0A%0A    @Test%0A    public void constructor_unsupportedTimeFormats_assertionThrown() throws Exception %7B%0A        IllegalValueExceptionThrown(%22day after%22, TaskTime.MESSAGE_TASK_TIME_CONSTRAINTS);%0A        IllegalValueExceptionThrown(%22clearly not a time format%22, TaskTime.MESSAGE_TASK_TIME_CONSTRAINTS);%0A        IllegalValueExceptionThrown(%22Tuesd%22, TaskTime.MESSAGE_TASK_TIME_CONSTRAINTS);%0A    %7D%0A    %0A%0A%7D%0A

Add initial test cases for tasktime