void tst_QOrganizerItemDetails::todoTime() { QOrganizerTodoTime r; QOrganizerTodo t; QVERIFY(r.isEmpty()); QVERIFY(!r.isAllDay()); r.setStartDateTime(QDateTime(QDate(2010, 10, 13))); QVERIFY(r.startDateTime() == QDateTime(QDate(2010, 10, 13))); QVERIFY(!r.isAllDay()); r.setAllDay(true); QVERIFY(r.isAllDay()); r.setDueDateTime(QDateTime(QDate(2010, 10, 14))); QVERIFY(r.dueDateTime() == QDateTime(QDate(2010, 10, 14))); // add QOrganizerTodoTime r2; r2.setStartDateTime(QDateTime(QDate(2010, 10, 23))); r2.setDueDateTime(QDateTime(QDate(2010, 10, 24))); QVERIFY(t.saveDetail(&r)); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoTime).size() == 1); QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoTime) == r); QVERIFY(t.saveDetail(&r2)); // note that we don't enforce uniqueness in organizeritem; that's done by the manager! QVERIFY(t.details(QOrganizerItemDetail::TypeTodoTime).size() == 2); QVERIFY(t.removeDetail(&r2)); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoTime).size() == 1); QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoTime) == r); // update r.setAllDay(false); QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoTime) != r); QVERIFY(t.saveDetail(&r)); QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoTime) == r); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoTime).size() == 1); // remove QVERIFY(t.removeDetail(&r)); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoTime).size() == 0); }
void tst_QOrganizerItemDetails::todoProgress() { QOrganizerTodoProgress p; QOrganizerTodo t; QVERIFY(p.status() == QOrganizerTodoProgress::StatusNotStarted); QVERIFY(p.isEmpty()); p.setStatus(QOrganizerTodoProgress::StatusInProgress); QVERIFY(!p.isEmpty()); QVERIFY(p.status() == QOrganizerTodoProgress::StatusInProgress); p.setPercentageComplete(50); QVERIFY(p.percentageComplete() == 50); p.setPercentageComplete(200); // this should fail QVERIFY(p.percentageComplete() == 50); // value should remain unchanged. p.setFinishedDateTime(QDateTime(QDate(2010, 10, 13))); QVERIFY(p.finishedDateTime() == QDateTime(QDate(2010, 10, 13))); QVERIFY(p.status() != QOrganizerTodoProgress::StatusComplete); // XXX TODO: should this be automatic? p.setPercentageComplete(100); QVERIFY(p.percentageComplete() == 100); QVERIFY(p.status() != QOrganizerTodoProgress::StatusComplete); // XXX TODO: should this be automatic? // add QVERIFY(t.saveDetail(&p)); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoProgress).size() == 1); QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoProgress) == p); // update p.setStatus(QOrganizerTodoProgress::StatusComplete); QVERIFY(p.status() == QOrganizerTodoProgress::StatusComplete); QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoProgress) != p); QVERIFY(t.saveDetail(&p)); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoProgress).size() == 1); // update, not add another QVERIFY(t.detail(QOrganizerItemDetail::TypeTodoProgress) == p); // remove QVERIFY(t.removeDetail(&p)); QVERIFY(t.details(QOrganizerItemDetail::TypeTodoProgress).size() == 0); }