public void Execute_WithValuesSatisfyingLimit_ReturnsValidResult(double offset) { // Setup const string parameterName = "ParameterName"; var random = new Random(21); double lowerLimit = random.NextDouble(); double value = lowerLimit + offset; var rule = new ComparableParameterGreaterThanRule <double>(parameterName, value, lowerLimit); // Precondition Assert.That(lowerLimit.CompareTo(value), Is.EqualTo(-1)); // Call ValidationRuleResult result = rule.Execute(); // Assert Assert.That(result, Is.SameAs(ValidationRuleResult.ValidResult)); }
public void Execute_WithValuesNotSatisfyingLimit_ReturnsInvalidResult(double offset) { // Setup const string parameterName = "ParameterName"; var random = new Random(21); double lowerLimit = random.NextDouble(); double invalidValue = lowerLimit + offset; var rule = new ComparableParameterGreaterThanRule <double>(parameterName, invalidValue, lowerLimit); // Precondition Assert.That(lowerLimit.CompareTo(invalidValue), Is.GreaterThan(-1)); // Call ValidationRuleResult result = rule.Execute(); // Assert Assert.That(result.IsValid, Is.False); var expectedMessage = $"{parameterName} must be >= {lowerLimit}. Current value: {invalidValue}"; Assert.That(result.ValidationMessage, Is.EqualTo(expectedMessage)); }