public bool Test(IMeasurement measurement)
{
if (m_state == AlarmState.Raised && m_clearTest(measurement))
{
m_state = AlarmState.Cleared;
return true;
}
if (m_state == AlarmState.Cleared && m_raiseTest(measurement))
{
m_state = AlarmState.Raised;
Cause = measurement;
return true;
}
return false;
}