@@ -0,0 +1,2681 @@
+package seedu.address.model.task;%0A%0Aimport java.text.SimpleDateFormat;%0Aimport java.util.Date;%0A%0Aimport seedu.address.commons.exceptions.IllegalValueException;%0A%0Aimport static org.junit.Assert.assertFalse;%0Aimport static org.junit.Assert.assertTrue;%0Aimport static org.junit.Assert.assertEquals;%0A%0Aimport org.junit.Test;%0A%0Apublic class DeadlineTest %7B%0A%0A    @Test%0A    public void isValidDeadline() %7B%0A        // Invalid Deadline%0A        assertFalse(Deadline.isValidDeadline(%22%22)); // Empty string%0A        assertFalse(Deadline.isValidDeadline(%22 %22)); // Spaces only%0A        assertFalse(Deadline.isValidDeadline(%22%5E%22)); // Random string%0A        assertFalse(Deadline.isValidDeadline(%2201/13/2017%22)); // American format%0A        assertFalse(Deadline.isValidDeadline(%22You, Aprial 3 2000%22)); // Invalid month, day%0A%0A        // Valid deadline%0A        assertTrue(Deadline.isValidDeadline(%2228/02/1996%22)); // Seperated by slash%0A        assertTrue(Deadline.isValidDeadline(%2228/02/19%22)); // Seperated by slash%0A        assertTrue(Deadline.isValidDeadline(%2228-02-1996%22)); // Seperated by dash%0A        assertTrue(Deadline.isValidDeadline(%2228-02-96%22)); // Seperated by dash%0A        assertTrue(Deadline.isValidDeadline(%22Thu, March 9 2017%22)); // Word format with short day%0A        assertTrue(Deadline.isValidDeadline(%22Thursday, March 9 2017%22)); // Word format%0A        assertTrue(Deadline.isValidDeadline(%22Thu, March 9 2017 23:59%22)); // Full format in word%0A        assertTrue(Deadline.isValidDeadline(%22Thu, March 9 2017, 10:00 pm%22)); // Full format in word%0A    %7D%0A%0A    @Test%0A    public void testTimeOnly() %7B%0A        try %7B%0A            Deadline date = new Deadline(%220:23 am%22);%0A            Date expectedDate = new Date();%0A            expectedDate.setHours(0);%0A            expectedDate.setMinutes(23);%0A            String expectedOutput = new SimpleDateFormat(Deadline.READABLE_DATETIME_OUTPUT_FORMAT)%0A                                            .format(expectedDate);%0A%0A            assertEquals(date.toString(), expectedOutput);%0A        %7D catch (IllegalValueException e) %7B%0A            assertTrue(false);%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void testDateOnly() %7B%0A        try %7B%0A            Deadline date = new Deadline(%22Thursday, March 9 2017%22);%0A            Date expectedDate = new Date();%0A            expectedDate.setDate(9);%0A            expectedDate.setMonth(2);%0A            expectedDate.setYear(117);%0A            String expectedOutput = new SimpleDateFormat(Deadline.READABLE_DATEONLY_OUTPUT_FORMAT)%0A                                            .format(expectedDate);%0A%0A            assertEquals(date.toString(), expectedOutput);%0A        %7D catch (IllegalValueException e) %7B%0A            assertTrue(false);%0A        %7D%0A    %7D%0A%7D%0A

Add DeadlineTest