< Summary

Information
Class: ValidateLib.TabularData.Datatypes.StringDatatypes.NMTOKENDT
Assembly: validatelib.dll
File(s): C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\ValidateLib\TabularData\Datatypes\StringDatatypes\NMTOKENDT.cs
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 27
Line coverage: 100%
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
NMTOKENDT()20
NMTOKENDT()10
NMTOKENDT(...)30
NMTOKENDT(...)30
CheckLexicalSpace(...)40

File(s)

C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\ValidateLib\TabularData\Datatypes\StringDatatypes\NMTOKENDT.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 NMTOKENDT : TokenDT
 8    {
 19        public NMTOKENDT() { }
 110        static readonly string nMTokenRegex = @"^[a-zA-Z0-9._\-:]*$";
 111        public NMTOKENDT(string stringValue) : base(stringValue)
 12        {
 113            CheckLexicalSpace(stringValue);
 114        }
 15
 116        public NMTOKENDT(string stringValue, FormatDescriptor format) : base(stringValue, format)
 17        {
 118            CheckLexicalSpace(stringValue);
 119        }
 20
 21        new public static void CheckLexicalSpace(string stringValue)
 22        {
 123            if (!Regex.IsMatch(stringValue, nMTokenRegex))
 124                ErrorFactory.ThrowDatatypeValidationError(stringValue);
 125        }
 26    }
 27}