< Summary

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

File(s)

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