protected NBiConstraint InstantiateConstraint(MatchPatternXml matchPatternXml) { var regexBuilder = new RegexBuilder(); var ctr = new MatchPatternConstraint(); if (!string.IsNullOrEmpty(matchPatternXml.Regex)) ctr = ctr.Regex(matchPatternXml.Regex); if (matchPatternXml.NumericFormat != null && !matchPatternXml.NumericFormat.IsEmpty) ctr = ctr.Regex(regexBuilder.Build(matchPatternXml.NumericFormat)); if (matchPatternXml.CurrencyFormat != null && !matchPatternXml.CurrencyFormat.IsEmpty) ctr = ctr.Regex(regexBuilder.Build(matchPatternXml.CurrencyFormat)); return ctr; }
public void Matches_RegexWronglySpecified_Validated() { var cells = new FormattedResults(); cells.Add("$185,125.12"); cells.Add("$125.12"); cells.Add("$125"); var matchPatternConstraint = new MatchPatternConstraint(); matchPatternConstraint = matchPatternConstraint.Regex(@"^\$?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}$"); //Method under test var res = matchPatternConstraint.Matches(cells); //Test conclusion Assert.That(res, Is.False); }
public void WriteDescription_OneItemHasFailed_CorrectKeywordsForPredicate() { var cells = new FormattedResults(); cells.Add("$185,125.12"); cells.Add("$125.12"); cells.Add("$125"); var matchPatternConstraint = new MatchPatternConstraint(); matchPatternConstraint = matchPatternConstraint.Regex(@"^\$?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}$"); //Method under test var res = matchPatternConstraint.Matches(cells); var msg = new MessageWriter(); matchPatternConstraint.WriteDescriptionTo(msg); //Test conclusion Assert.That(msg.Predicate, Is.StringContaining("cell") .And.StringContaining("regex")); }