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); } }
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]); }
public void AssertToStringReturnsValue() { var name = new QuestionCatalogName("test"); Assert.AreEqual(name.Value, name.ToString()); }
public static QuestionId From(QuestionCatalogName configurationName, int lineNumber) { return(QuestionId.From($"{configurationName.Value}:{lineNumber}")); }