package com.nononsenseapps.notepad.test;
import com.nononsenseapps.notepad.data.model.sql.Task;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
public class DaoTaskTest extends AndroidTestCase {
private void copyValsFromTo(final Task task1, final Task task2) {
task2.title = task1.title;
task2.note = task1.note;
task2.completed = task1.completed;
task2.due = task1.due;
}
@MediumTest
public void testTask() {
final Task task1 = new Task();
task1.title = "title1";
task1.note = "note1";
// Equals method should be true for these
assertTrue("Task should equal itself!", task1.equals(task1));
task1.due = 924592L;
assertTrue("Task should equal itself!", task1.equals(task1));
task1.completed = 230456L;
assertTrue("Task should equal itself!", task1.equals(task1));
// Create copy
final Task task2 = new Task();
copyValsFromTo(task1, task2);
assertTrue((task1.title != null && task1.title.equals(task2.title)));
assertTrue((task1.note != null && task1.note.equals(task2.note)));
assertTrue((task1.due == task2.due));
assertTrue(((task1.completed != null) == (task2.completed != null)));
assertTrue("Task1 should equal task2!", task1.equals(task2));
// Completed should only care about null status
task2.completed = 9272958113551L;
assertTrue("Completed should only care about null values", task1.equals(task2));
// Should all fail
copyValsFromTo(task1, task2);
task2.title = "badfa";
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.note = "badfa";
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.due = 29037572395L;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.completed = null;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.due = null;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.title = "badfa";
task2.note = "asdfal";
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.title = "badfa";
task2.due = null;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.note = "badfa";
task2.due = 292374522222L;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.title = "badfa";
task2.note = "asdf";
task2.due = null;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
copyValsFromTo(task1, task2);
task2.title = "badfa";
task2.note = "asdf";
task2.due = null;
task2.completed = null;
assertFalse("Task1 should not equal task2!", task1.equals(task2));
}
}