< Summary

Information
Class: DatatypeTests.DurationTests
Assembly: datatypetests.dll
File(s): C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\Tests\DatatypeTests\DurationTests.cs
Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 70
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

File(s)

C:\skola_karlovka\RP\code\csv-validator\CSV_Validator\Tests\DatatypeTests\DurationTests.cs

#LineLine coverage
 1using ValidateLib.ErrorsAndWarnings.Errors.Specific;
 2using ValidateLib.Metadata.Descriptors;
 3using ValidateLib.TabularData.Datatypes;
 4using ValidateLib.TabularData.Datatypes.DurationDatatypes;
 5
 6namespace DatatypeTests
 7{
 8    public class DurationTests
 9    {
 10
 11        [Theory]
 12        [InlineData("P1Y", @"^P\d+Y$")]
 13        [InlineData("P1M", @"^P\d+M$")]
 14        [InlineData("P1D", @"^P\d+D$")]
 15
 16        public void DurationSupportedPatternsTests(string stringValue, string formatPattern)
 117        {
 118            FormatDescriptor format = new FormatDescriptor { pattern = formatPattern };
 119            DurationDT duration = new DurationDT(stringValue, format);
 120            DatatypeFactory.GetDatatype(stringValue, "duration", format);
 21
 122        }
 23
 24        [Theory]
 25        [InlineData("P2Y6M5DT12H35M30S")]
 26        [InlineData("P1DT2H")]
 27        [InlineData("P20M ")]
 28        [InlineData("PT20M")]
 29        [InlineData("P0Y20M0D")]
 30        [InlineData("P0Y")]
 31        [InlineData("-P60D")]
 32        [InlineData("PT1M30.5S")]
 33
 34        public void ValidDurationWithoutPatternTest(string stringValue)
 135        {
 136            DurationDT duration = new DurationDT(stringValue);
 137            DatatypeFactory.GetDatatype(stringValue, "duration", null);
 138        }
 39
 40        [Theory]
 41        [InlineData("notaduration")]
 42        [InlineData("P1YKlm")]
 43
 44        public void DurationWithoutPatternInvalidValues(string stringValue)
 145        {
 146            FormatDescriptor format = new FormatDescriptor { };
 147            Assert.Throws<DatatypeValidationError>(() => DatatypeFactory.GetDatatype(stringValue, "duration", null));
 148        }
 49
 50        [Theory]
 51        [InlineData("P1Y2M3DT4H5M6S", @"^P\d+Y$")]
 52        [InlineData("PT12H", @"^P\d+M$")]
 53        [InlineData("PT45M", @"^P\d+D$")]
 54        public void DurationInvalidValuesWithPatternTest(string stringValue, string formatPattern)
 155        {
 156            FormatDescriptor format = new FormatDescriptor { pattern = formatPattern };
 157            Assert.Throws<DatatypeValidationError>(() => DatatypeFactory.GetDatatype(stringValue, "duration", format));
 158        }
 59
 60        [Theory]
 61        [InlineData("PT130S", @"^-?P.*$")]
 62        [InlineData("-P60D", @"^-?P\d+D$")]
 63        public void DurationValuesWithPatternTest(string stringValue, string formatPattern)
 164        {
 165            FormatDescriptor format = new FormatDescriptor { pattern = formatPattern };
 166            DatatypeFactory.GetDatatype(stringValue, "duration", format);
 167        }
 68
 69    }
 70}