public void RuleForEach_NoErrorShouldOccurWhenDCFValuesIsLowerThanNonObligatedOfSameCategoryType() { var model = new NonObligatedValuesViewModel(calculator); List <NonObligatedData> nonObligatedList = new List <NonObligatedData>(); for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 2).ToString(); var @decimal = decimal.Parse(model.CategoryValues.ElementAt(count).Tonnage); var nonObligatedData = new NonObligatedData(model.CategoryValues.ElementAt(count).CategoryId, @decimal, model.CategoryValues.ElementAt(count).Dcf, Guid.NewGuid()); nonObligatedList.Add(nonObligatedData); } var returnData = new ReturnData { NonObligatedData = nonObligatedList }; for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 1).ToString(); model.CategoryValues.ElementAt(count).Dcf = true; } validator = new NonObligatedValuesViewModelValidator(returnData); ValidationResult validationResult = validator.Validate(model); validationResult.IsValid.Should().BeTrue(); }
public void RuleForEach_ErrorShouldOccurWhenNonObligatedValueIsLowerThanDcfValueOfSameCategoryType() { var model = new NonObligatedValuesViewModel(calculator) { Dcf = true }; List <NonObligatedData> nonObligatedList = new List <NonObligatedData>(); for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 2).ToString(); var @decimal = decimal.Parse(model.CategoryValues.ElementAt(count).Tonnage); var nonObligatedData = new NonObligatedData(model.CategoryValues.ElementAt(count).CategoryId, @decimal, true, Guid.NewGuid()); nonObligatedList.Add(nonObligatedData); } var returnData = new ReturnData { NonObligatedData = nonObligatedList }; for (var count = 0; count < model.CategoryValues.Count; count++) { model.CategoryValues.ElementAt(count).Tonnage = (count + 1).ToString(); model.CategoryValues.ElementAt(count).Dcf = false; } model.Dcf = false; validator = new NonObligatedValuesViewModelValidator(returnData); ValidationResult validationResult = validator.Validate(model); validationResult.IsValid.Should().BeFalse(); validationResult.Errors.Count.Should().Be(14); for (var i = 0; i < validationResult.Errors.Count; i++) { var categoryId = i + 1; validationResult.Errors[i].ErrorMessage.Should().Be("Category " + categoryId + " tonnage must be greater than or equal to " + returnData.NonObligatedData[i].Tonnage); validationResult.Errors[i].PropertyName.Should().Be("CategoryValues[" + i + "].Tonnage"); } }