private Func<IMeasurement, bool> GetClearTest()
{
switch (m_operation)
{
case AlarmOperation.Equal:
return ClearIfNotEqual;
case AlarmOperation.NotEqual:
return ClearIfNotNotEqual;
case AlarmOperation.GreaterOrEqual:
return ClearIfNotGreaterOrEqual;
case AlarmOperation.LessOrEqual:
return ClearIfNotLessOrEqual;
case AlarmOperation.GreaterThan:
return ClearIfNotGreaterThan;
case AlarmOperation.LessThan:
return ClearIfNotLessThan;
case AlarmOperation.Flatline:
return ClearIfNotFlatline;
default:
throw new ArgumentOutOfRangeException();
}
}