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()); begin.setHMS(0, lastEvaluationTime.time().minute(), lastEvaluationTime.time().second());
end.setHMS(0, dateTime.time().minute(), dateTime.time().second()); end.setHMS(0, dateTime.time().minute(), dateTime.time().second());
vut.setHMS(0, m_time.minute(), m_time.second()); vut.setHMS(0, m_time.minute(), m_time.second());
return begin < vut && vut < end; return begin < vut && vut <= end;
} }
case RepeatingOption::RepeatingModeWeekly: case RepeatingOption::RepeatingModeWeekly:
return m_repeatingOption.evaluateWeekDay(dateTime) && return m_repeatingOption.evaluateWeekDay(dateTime) &&
@ -120,13 +120,15 @@ bool TimeEventItem::evaluate(const QDateTime &lastEvaluationTime, const QDateTim
} }
// Check dateTime and yearly repeating // Check dateTime and yearly repeating
if (m_repeatingOption.mode() == RepeatingOption::RepeatingModeYearly) if (m_repeatingOption.mode() == RepeatingOption::RepeatingModeYearly) {
return m_dateTime.date().month() == dateTime.date().month() && // adjust the stored year to the current one...
m_dateTime.date().day() == dateTime.date().day() && QDateTime adjustedTime = m_dateTime;
lastEvaluationTime.time() < m_dateTime.time() && m_dateTime.time() <= dateTime.time(); adjustedTime.setDate(QDate(dateTime.date().year(), m_dateTime.date().month(), m_dateTime.date().day()));
return lastEvaluationTime < adjustedTime && adjustedTime <= dateTime;
}
// Check dateTime matches // 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); verifyRuleError(response);
RuleId ruleId = RuleId(response.toMap().value("params").toMap().value("ruleId").toString()); 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 // not triggering
GuhCore::instance()->timeManager()->setTime(oneMinuteBeforeEvent); GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-60));
verifyRuleNotExecuted(); verifyRuleNotExecuted();
// trigger // trigger
GuhCore::instance()->timeManager()->setTime(dateTime); GuhCore::instance()->timeManager()->setTime(dateTime);
@ -1421,17 +1421,18 @@ void TestTimeManager::testEventItemYearly()
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(60)); GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(60));
verifyRuleNotExecuted(); verifyRuleNotExecuted();
oneMinuteBeforeEvent = oneMinuteBeforeEvent.addYears(1); // Tick next year, one minute bofore, on time, one minute after
QDateTime nextYear = dateTime.addYears(1);
// not triggering // not triggering
GuhCore::instance()->timeManager()->setTime(oneMinuteBeforeEvent); GuhCore::instance()->timeManager()->setTime(nextYear.addSecs(-60));
verifyRuleNotExecuted(); verifyRuleNotExecuted();
// trigger // trigger
GuhCore::instance()->timeManager()->setTime(dateTime); GuhCore::instance()->timeManager()->setTime(nextYear);
verifyRuleExecuted(mockActionIdNoParams); verifyRuleExecuted(mockActionIdNoParams);
cleanupMockHistory(); cleanupMockHistory();
// not triggering // not triggering
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(60)); GuhCore::instance()->timeManager()->setTime(nextYear.addSecs(60));
verifyRuleNotExecuted(); verifyRuleNotExecuted();
cleanupMockHistory(); cleanupMockHistory();
@ -1469,14 +1470,16 @@ void TestTimeManager::testEnableDisableTimeRule()
RuleId ruleId = RuleId(response.toMap().value("params").toMap().value("ruleId").toString()); RuleId ruleId = RuleId(response.toMap().value("params").toMap().value("ruleId").toString());
// not triggering // not triggering
GuhCore::instance()->timeManager()->setTime(dateTime.addMSecs(-60)); GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-2));
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-1));
verifyRuleNotExecuted(); verifyRuleNotExecuted();
// trigger // trigger
GuhCore::instance()->timeManager()->setTime(dateTime); GuhCore::instance()->timeManager()->setTime(dateTime);
verifyRuleExecuted(mockActionIdNoParams); verifyRuleExecuted(mockActionIdNoParams);
cleanupMockHistory(); cleanupMockHistory();
// not triggering // not triggering
GuhCore::instance()->timeManager()->setTime(dateTime.addMSecs(60)); GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(1));
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(2));
verifyRuleNotExecuted(); verifyRuleNotExecuted();
@ -1487,6 +1490,7 @@ void TestTimeManager::testEnableDisableTimeRule()
verifyRuleError(response); verifyRuleError(response);
// trigger // trigger
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-1));
GuhCore::instance()->timeManager()->setTime(dateTime); GuhCore::instance()->timeManager()->setTime(dateTime);
verifyRuleNotExecuted(); verifyRuleNotExecuted();
@ -1496,7 +1500,9 @@ void TestTimeManager::testEnableDisableTimeRule()
verifyRuleError(response); verifyRuleError(response);
// trigger // trigger
GuhCore::instance()->timeManager()->setTime(dateTime.addSecs(-1));
GuhCore::instance()->timeManager()->setTime(dateTime); GuhCore::instance()->timeManager()->setTime(dateTime);
qWarning() << "-----------------------------------------------";
verifyRuleExecuted(mockActionIdNoParams); verifyRuleExecuted(mockActionIdNoParams);
cleanupMockHistory(); cleanupMockHistory();