public bool Test(double testValue)
{
switch (Condition)
{
case MustBe.Between:
return testValue >= Value && testValue <= MaxValue;
case MustBe.GreaterThan:
return testValue > Value;
case MustBe.GreaterThanOrEqualTo:
return testValue >= Value;
case MustBe.LessThan:
return testValue < Value;
case MustBe.LessThanOrEqualTo:
return testValue <= Value;
case MustBe.ExactlyEqualTo:
default:
return testValue.Equals(Value);
}
}
public static AssertionResult CreateResult(MetricName name, string unitName, double value, Assertion assertion) { var passed = assertion.Test(value); var passedString = passed ? "[PASS]" : "[FAIL]"; var message = $"{passedString} Expected {name} to {assertion} {unitName}; actual value was {value:n} {unitName}."; return new AssertionResult(name, message, passed); }