@@ -0,0 +1,1681 @@
+package seedu.ezdo.model.task;%0A%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.assertFalse;%0Aimport static org.junit.Assert.assertTrue;%0A%0Aimport org.junit.Test;%0A%0Aimport seedu.ezdo.model.todo.Recur;%0A//@@author A0139177W%0Apublic class RecurTest %7B%0A%0A    @Test%0A    public void isValidRecur() %7B%0A        // invalid recur interval%0A        assertFalse(Recur.isValidRecur(%22 %22));%0A        assertFalse(Recur.isValidRecur(%22everyday%22));%0A        assertFalse(Recur.isValidRecur(%22week%22));%0A        assertFalse(Recur.isValidRecur(%22month%22));%0A        assertFalse(Recur.isValidRecur(%22year%22));%0A%0A        // valid recur interval%0A        assertTrue(Recur.isValidRecur(%22%22));%0A        assertTrue(Recur.isValidRecur(%22daily%22));%0A        assertTrue(Recur.isValidRecur(%22weekly%22));%0A        assertTrue(Recur.isValidRecur(%22monthly%22));%0A        assertTrue(Recur.isValidRecur(%22yearly%22));%0A    %7D%0A%0A    @Test%0A    public void isRecur() throws Exception %7B%0A        Recur noRecur = new Recur(%22%22);%0A        Recur validRecur = new Recur(%22monthly%22);%0A        assertFalse(noRecur.isRecur());%0A        assertTrue(validRecur.isRecur());%0A    %7D%0A%0A    @Test%0A    public void printToString() throws Exception %7B%0A        Recur testRecur = new Recur(%22daily%22);%0A        assertEquals(testRecur.toString(), %22daily%22);%0A    %7D%0A    %0A    @Test%0A    public void testEquals() throws Exception %7B%0A        Recur testRecur = new Recur(%22daily%22);%0A        Recur testRecur2 = testRecur;%0A        assertTrue(testRecur.equals(testRecur2));%0A    %7D%0A    %0A    @Test%0A    public void hashCode_equals() throws Exception %7B%0A        Recur testRecur = new Recur(%22daily%22);%0A        assertEquals(testRecur.hashCode(), (new Recur(%22daily%22)).hashCode());%0A    %7D%0A%7D%0A%0A

Add RecurTest test cases