fix tests

This commit is contained in:
Michael Zanetti 2017-07-06 19:26:40 +02:00
parent f45e093cf1
commit e3c57c226b
2 changed files with 22 additions and 14 deletions

View File

@ -104,7 +104,7 @@ bool TimeEventItem::evaluate(const QDateTime &lastEvaluationTime, const QDateTim
begin.setHMS(0, lastEvaluationTime.time().minute(), lastEvaluationTime.time().second());
end.setHMS(0, dateTime.time().minute(), dateTime.time().second());
vut.setHMS(0, m_time.minute(), m_time.second());
return begin < vut && vut < end;
return begin < vut && vut <= end;
}
case RepeatingOption::RepeatingModeWeekly:
return m_repeatingOption.evaluateWeekDay(dateTime) &&
@ -120,13 +120,15 @@ bool TimeEventItem::evaluate(const QDateTime &lastEvaluationTime, const QDateTim
}
// Check dateTime and yearly repeating
if (m_repeatingOption.mode() == RepeatingOption::RepeatingModeYearly)
return m_dateTime.date().month() == dateTime.date().month() &&
m_dateTime.date().day() == dateTime.date().day() &&
lastEvaluationTime.time() < m_dateTime.time() && m_dateTime.time() <= dateTime.time();
if (m_repeatingOption.mode() == RepeatingOption::RepeatingModeYearly) {
// adjust the stored year to the current one...
QDateTime adjustedTime = m_dateTime;
adjustedTime.setDate(QDate(dateTime.date().year(), m_dateTime.date().month(), m_dateTime.date().day()));
return lastEvaluationTime < adjustedTime && adjustedTime <= dateTime;
}
// Check dateTime matches
return dateTime == m_dateTime;
return lastEvaluationTime < m_dateTime && m_dateTime <= dateTime;
}
}

View File

@ -1408,10 +1408,10 @@ void TestTimeManager::testEventItemYearly()
verifyRuleError(response);
RuleId ruleId = RuleId(response.toMap().value("params").toMap().value("ruleId").toString());
QDateTime oneMinuteBeforeEvent = dateTime.addSecs(-60);
// Tick now, one minute before, on time, one minute after
// not triggering
GuhCore::instance()->timeManager()->setTime(oneMinuteBeforeEvent);
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-60));
verifyRuleNotExecuted();
// trigger
GuhCore::instance()->timeManager()->setTime(dateTime);
@ -1421,17 +1421,18 @@ void TestTimeManager::testEventItemYearly()
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(60));
verifyRuleNotExecuted();
oneMinuteBeforeEvent = oneMinuteBeforeEvent.addYears(1);
// Tick next year, one minute bofore, on time, one minute after
QDateTime nextYear = dateTime.addYears(1);
// not triggering
GuhCore::instance()->timeManager()->setTime(oneMinuteBeforeEvent);
GuhCore::instance()->timeManager()->setTime(nextYear.addSecs(-60));
verifyRuleNotExecuted();
// trigger
GuhCore::instance()->timeManager()->setTime(dateTime);
GuhCore::instance()->timeManager()->setTime(nextYear);
verifyRuleExecuted(mockActionIdNoParams);
cleanupMockHistory();
// not triggering
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(60));
GuhCore::instance()->timeManager()->setTime(nextYear.addSecs(60));
verifyRuleNotExecuted();
cleanupMockHistory();
@ -1469,14 +1470,16 @@ void TestTimeManager::testEnableDisableTimeRule()
RuleId ruleId = RuleId(response.toMap().value("params").toMap().value("ruleId").toString());
// not triggering
GuhCore::instance()->timeManager()->setTime(dateTime.addMSecs(-60));
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-2));
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-1));
verifyRuleNotExecuted();
// trigger
GuhCore::instance()->timeManager()->setTime(dateTime);
verifyRuleExecuted(mockActionIdNoParams);
cleanupMockHistory();
// not triggering
GuhCore::instance()->timeManager()->setTime(dateTime.addMSecs(60));
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(1));
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(2));
verifyRuleNotExecuted();
@ -1487,6 +1490,7 @@ void TestTimeManager::testEnableDisableTimeRule()
verifyRuleError(response);
// trigger
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-1));
GuhCore::instance()->timeManager()->setTime(dateTime);
verifyRuleNotExecuted();
@ -1496,7 +1500,9 @@ void TestTimeManager::testEnableDisableTimeRule()
verifyRuleError(response);
// trigger
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-1));
GuhCore::instance()->timeManager()->setTime(dateTime);
qWarning() << "-----------------------------------------------";
verifyRuleExecuted(mockActionIdNoParams);
cleanupMockHistory();