protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, HashSet <string> > entry in _incorrectDataFormat) { FieldIndex fieldIndex = entry.Key; HashSet <string> incorrectDataFormat = entry.Value; string errorsToShow = string.Join(", ", incorrectDataFormat .Take(NumberOfShownErrors) .Select(s => "'" + s + "'") .ToList() ); string message = string.Format(Messages.ControlDataFormatMessage, errorsToShow); if (incorrectDataFormat.Count > NumberOfShownErrors) { int remainingErrors = incorrectDataFormat.Count - NumberOfShownErrors; message += string.Format(Messages.ControlDataFormatMessageExtension, remainingErrors); } _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(fieldIndex), message)); } _incorrectDataFormat.Clear(); }
protected override void DoRun(Field field) { string value = field.Value; FieldIndex fieldIndex = field.Definition.GetIndex(); if (!_valuesPerField.ContainsKey(fieldIndex)) { _valuesPerField.Add(fieldIndex, new HashSet <string>()); } HashSet <string> fieldValues = _valuesPerField[fieldIndex]; // If null, the testresult for this value has already been created if (fieldValues == null) { return; } // If field already contains the value, it is not unique if (fieldValues.Contains(value)) { _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(fieldIndex), string.Format(Messages.ControlUniquenessMessage2))); // Set to null so we do not collect more values for this field _valuesPerField[fieldIndex] = null; } else { fieldValues.Add(value); } }
protected override void DoEndOfFile() { foreach (FieldIndex index in _containsNullValues) { _testResults.Add(new TestResult(ResultType.Success, AddmlLocation.FromFieldIndex(index), string.Format(Messages.ControlNotNullMessage))); } _containsNullValues.Clear(); }
protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, HashSet <string> > entry in _nonDateValues) { FieldIndex fieldIndex = entry.Key; HashSet <string> nonDateValues = entry.Value; _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(fieldIndex), string.Format(Messages.ControlDateValueMessage, string.Join(" ", nonDateValues)))); } _nonDateValues.Clear(); }
protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, HashSet <string> > entry in _valuesLongerThanMaxLength) { FieldIndex fieldIndex = entry.Key; HashSet <string> valuesLongerThanMaxLength = entry.Value; _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(fieldIndex), string.Format(Messages.ControlMaxLengthMessage, string.Join(" ", valuesLongerThanMaxLength)))); } _valuesLongerThanMaxLength.Clear(); }
protected override void DoRun(Field field) { string value = field.Value; bool ok = NorwegianAccountNumber.Verify(value); if (!ok) { _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(field.Definition.GetIndex()), string.Format(Messages.ControlAccountNumberMessage, value))); } }
protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, BigInteger> entry in _nullCount) { FieldIndex index = entry.Key; BigInteger nullCount = entry.Value; _testResults.Add(new TestResult(ResultType.Success, AddmlLocation.FromFieldIndex(index), string.Format(Messages.AnalyseCountNullMessage, nullCount))); } _nullCount.Clear(); }
protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, MinAndMax> entry in _minAndMaxLengthPerField) { FieldIndex fieldIndex = entry.Key; MinAndMax minAndMaxValue = entry.Value; string minLengthString = minAndMaxValue.GetMin()?.ToString() ?? "<no value>"; string maxLengthString = minAndMaxValue.GetMax()?.ToString() ?? "<no value>"; _testResults.Add(new TestResult(ResultType.Success, AddmlLocation.FromFieldIndex(fieldIndex), string.Format(Messages.AnalyseFindExtremeValuesMessage, maxLengthString, minLengthString))); } _minAndMaxLengthPerField.Clear(); }
protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, HashSet <string> > entry in _valuesPerField) { FieldIndex fieldIndex = entry.Key; HashSet <string> fieldValues = entry.Value; if (fieldValues != null) { _testResults.Add(new TestResult(ResultType.Success, AddmlLocation.FromFieldIndex(fieldIndex), string.Format(Messages.ControlUniquenessMessage1))); } } _valuesPerField.Clear(); }
protected override void DoEndOfFile() { foreach (KeyValuePair <FieldIndex, FrequencyList> entry in _frequenceListPerField) { FieldIndex index = entry.Key; FrequencyList frequencyList = entry.Value; foreach (KeyValuePair <string, BigInteger> e in frequencyList.Get()) { string word = e.Key; BigInteger count = e.Value; _testResults.Add(new TestResult(ResultType.Success, AddmlLocation.FromFieldIndex(index), string.Format(Messages.AnalyseAllFrequenceListMessage, count, word))); } } _frequenceListPerField.Clear(); }
protected override List <TestResult> GetTestResults() { var results = new List <TestResult>(); foreach (KeyValuePair <string, AddmlForeignKey> item in _foreignKeys) { string index = item.Key; AddmlForeignKey foreignKey = item.Value; if (CollectedPrimaryKeys.ContainsKey(index)) { foreach (string value in foreignKey.Values) { HashSet <string> primaryKeyValues = CollectedPrimaryKeys[index]; if (!primaryKeyValues.Contains(value)) { string errorMessageTemplate = Messages.ControlForeignKeyMessage1; if (foreignKey.IsCombinedForeignKey()) { errorMessageTemplate = Messages.ControlForeignKeyMessage1Combined; } results.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(foreignKey.ForeignKeyIndexes), string.Format(errorMessageTemplate, PrettyPrintValue(value), AddmlLocation.FromFieldIndex(foreignKey.ForeignKeyReferenceIndexes)))); } } } else { results.Add(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(foreignKey.ForeignKeyIndexes), string.Format(Messages.ControlForeignKeyMessage2, AddmlLocation.FromFieldIndex(foreignKey.ForeignKeyReferenceIndexes)))); } } return(results); }
private static TestResult CreateInvalidForeignKeyError(ForeignKeyValue foreignKeyValue) { return(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(foreignKeyValue.Field), string.Format(Messages.ControlForeignKeyMessage1, foreignKeyValue.Value, foreignKeyValue.ReferencingField))); }