< Summary

Information
Class: ValidateLib.TabularData.Datatypes.StringDatatypes.QNameDT
Assembly: validatelib.dll
File(s): C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\ValidateLib\TabularData\Datatypes\StringDatatypes\QNameDT.cs
Line coverage
63%
Covered lines: 7
Uncovered lines: 4
Coverable lines: 11
Total lines: 28
Line coverage: 63.6%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBlocks covered Blocks not covered
QNameDT()02
QNameDT()10
QNameDT(...)30
QNameDT(...)03
CheckLexicalSpace(...)40

File(s)

C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\ValidateLib\TabularData\Datatypes\StringDatatypes\QNameDT.cs

#LineLine coverage
 1using System.Text.RegularExpressions;
 2using ValidateLib.ErrorsAndWarnings.Errors;
 3using ValidateLib.Metadata.Descriptors;
 4
 5namespace ValidateLib.TabularData.Datatypes.StringDatatypes
 6{
 7    public class QNameDT : StringDT
 8    {
 09        public QNameDT() { }
 110        static readonly string QNameRegex = @"^(?:[a-zA-Z_][\w.-]*:)?[a-zA-Z_][\w.\-]*$";
 11
 112        public QNameDT(string stringValue) : base(stringValue)
 13        {
 114            CheckLexicalSpace(stringValue);
 115        }
 16
 017        public QNameDT(string stringValue, FormatDescriptor format) : base(stringValue, format)
 18        {
 019            CheckLexicalSpace(stringValue);
 020        }
 21
 22        public static void CheckLexicalSpace(string stringValue)
 23        {
 124            if (!Regex.IsMatch(stringValue, QNameRegex))
 125                ErrorFactory.ThrowDatatypeValidationError(stringValue);
 126        }
 27    }
 28}