public void Validate_NumberOfDieSidesNotIntegerString_ReturnInvalid() { // Setup var validationRule = new PracticalNumberOfDieFacesLimitationRule(); // Call ValidationResult result = validationRule.Validate("A", CultureInfo.CurrentCulture); // Assert Assert.IsFalse(result.IsValid); Assert.AreEqual("Number of sides must be a whole number.", result.ErrorContent); }
public void Validate_ValueIsNotString_ReturnInvalid() { // Setup var validationRule = new PracticalNumberOfDieFacesLimitationRule(); // Call ValidationResult result = validationRule.Validate(new object(), CultureInfo.CurrentCulture); // Assert Assert.IsFalse(result.IsValid); Assert.AreEqual("Number of sides must be specified.", result.ErrorContent); }
public void Validate_InvalidNumberOfDieSides_ReturnInvalid(int invalidNumberOfSides) { // Setup var validationRule = new PracticalNumberOfDieFacesLimitationRule(); var cultureInfo = CultureInfo.CurrentCulture; // Call ValidationResult result = validationRule.Validate(invalidNumberOfSides.ToString(cultureInfo), cultureInfo); // Assert Assert.IsFalse(result.IsValid); Assert.AreEqual("Number of sides must be in range of [1, 200].", result.ErrorContent); }
public void Validate_ValidNumberOfDieSides_ReturnValidResult(int value) { // Setup var validationRule = new PracticalNumberOfDieFacesLimitationRule(); CultureInfo cultureInfo = CultureInfo.CurrentCulture; // Call ValidationResult result = validationRule.Validate(value.ToString(cultureInfo), cultureInfo); // Assert Assert.IsTrue(result.IsValid); Assert.IsNull(result.ErrorContent); }
public void Validate_NumberOfDieSidesTooLarge_ReturnInvalid(int extremeValue) { // Setup var validationRule = new PracticalNumberOfDieFacesLimitationRule(); CultureInfo cultureInfo = CultureInfo.CurrentCulture; string overflowingValue = extremeValue.ToString(cultureInfo) + "1"; // Call ValidationResult result = validationRule.Validate(overflowingValue, cultureInfo); // Assert Assert.IsFalse(result.IsValid); Assert.AreEqual("Number of sides is too large or too small.", result.ErrorContent); }