public static bool TryParse(string value, out ParsedNormalizedString @object, out IReadOnlyCollection <string> errorMessages) { var errorMessageList = new List <string>(); errorMessages = errorMessageList; if (value == null) { // TryParse should never fail, so report null as an error instead of ArgumentNullException. errorMessageList.Add("Value required"); } else { if (value.Trim().Length < 2) { errorMessageList.Add("Length must be at least 2 characters"); } } if (errorMessageList.Count > 0) { @object = null; return(false); } @object = new ParsedNormalizedString { Value = value }; return(true); }
public void ItShouldParseCustomPrimitiveReferenceTypes() { var data = this.NewInstance(); var parsed = data.Parse(); Assert.AreEqual(parsed.SomeParsedString, ParsedString.Parse(data.SomeParsedString)); Assert.AreEqual(parsed.OptionalParsedString, ParsedString.Parse(data.OptionalParsedString)); Assert.AreEqual( parsed.SomeParsedNormalizedString, ParsedNormalizedString.Parse(data.SomeParsedNormalizedString)); Assert.AreEqual( parsed.OptionalParsedNormalizedString, ParsedNormalizedString.Parse(data.OptionalParsedNormalizedString)); }