private void Validate(Func <TestTag, ITagAttribute> action, TagException expectedException)
        {
            // Given
            var tag       = CreateTag(action);
            var validator = new DateTagAttributeValidator();

            // When
            TagException result = null;

            try
            {
                validator.Validate(tag);
            }
            catch (TagException e)
            {
                result = e;
            }
            Assert.That(result?.Message, Is.EqualTo(expectedException?.Message), tag.DateValue?.ToString());
        }
 public void Should_validate_tagAttributes_with_enum()
 {
     Validate(tag => new ConstantAttribute("2016-10-08T16:41:00", tag), null);
     Validate(tag => new ConstantAttribute("Four", tag), DateTagAttributeValidator.InvalidValue("DateValue", "Four", PatternStrings.DATETIME_FORMAT));
     Validate(tag => null, null);
 }