Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        protected override void DoEndOfFile()
        {
            foreach (FieldIndex index in _containsNullValues)
            {
                _testResults.Add(new TestResult(ResultType.Success, AddmlLocation.FromFieldIndex(index),
                                                string.Format(Messages.ControlNotNullMessage)));
            }

            _containsNullValues.Clear();
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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)));
            }
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
        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();
        }
Exemplo n.º 9
0
        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();
        }
Exemplo n.º 10
0
        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();
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
 private static TestResult CreateInvalidForeignKeyError(ForeignKeyValue foreignKeyValue)
 {
     return(new TestResult(ResultType.Error, AddmlLocation.FromFieldIndex(foreignKeyValue.Field),
                           string.Format(Messages.ControlForeignKeyMessage1, foreignKeyValue.Value,
                                         foreignKeyValue.ReferencingField)));
 }