示例#1
0
 public void TestQuestionIdInvalidFormat(string input, bool throws)
 {
     if (throws)
     {
         var ex = Assert.Throws <ArgumentException>(() => QuestionId.From(input));
         Assert.AreEqual($"The QuestionId has an invalid format: \"{input}\", Expected \"<configuration-name>:<lineNumber>\".", ex.Message);
     }
     else
     {
         var questionId = QuestionId.From(input);
         Assert.AreEqual(input, questionId.Value);
         Assert.AreEqual(QuestionCatalogName.From(input.Split(':')[0]), questionId.ConfigurationName);
     }
 }
示例#2
0
        protected override void Validate()
        {
            base.Validate();

            if (!Regex.IsMatch(this.Value, @"[\wäüöß-]+:[1-9]\d*")) // configurationName:anyNonZeroDigit
            {
                throw new ArgumentException($"The {nameof(QuestionId)} has an invalid format: \"{this.Value}\", Expected \"<configuration-name>:<lineNumber>\".");
            }

            var split = this.Value.Split(':');

            this.ConfigurationName = QuestionCatalogName.From(split[0]);
            this.LineNumber        = int.Parse(split[1]);
        }
示例#3
0
        public void AssertToStringReturnsValue()
        {
            var name = new QuestionCatalogName("test");

            Assert.AreEqual(name.Value, name.ToString());
        }
示例#4
0
 public static QuestionId From(QuestionCatalogName configurationName, int lineNumber)
 {
     return(QuestionId.From($"{configurationName.Value}:{lineNumber}"));
 }