public void FixIssueWithNullEntries() { ReplaceDictionary dict = new ReplaceDictionary(); dict.Pairs.Add(string.Empty, null); // They ought to return just the input string with no errors. dict.ReplaceInString(null); dict.ReplaceInString(""); dict.ReplaceInString("abcdefg"); }
private void ProcessMail(MimeMessage message) { Logger.Instance.LogFormat(LogType.Trace, this, Resources.ReceivedMailInfo, message.From, message.Subject); bool isSubjectMatch = message.Subject.ToLower().Contains(_configuration.MailSubject.ToLower()); bool isMessageMatch = message.From.Mailboxes.Any(x => x.Address.ToLower().Contains(_configuration.MailSender.ToLower())); if (isSubjectMatch && isMessageMatch) { string[] lines = (_configuration.AnalyzeAttachment) ? AnalyzeAttachment(message) : AnalyzeBody(message); if (lines != null) { ReplaceDictionary replDict = _configuration.ReplaceDictionary; string[] analyzedLines = lines.Select(preParsedLine => replDict.ReplaceInString(preParsedLine)).ToArray(); if (!_serviceProvider.GetService <IAlarmFilter>().QueryAcceptSource(string.Join(" ", analyzedLines))) { return; } Operation operation = _mailParser.Parse(analyzedLines); OnNewAlarm(operation); } } else { Logger.Instance.LogFormat(LogType.Info, this, Resources.MailDoesNotMatchCriteria); } }
public void CheckRegexMatchTest() { string replacementChar = "!"; ReplaceDictionary dict = new ReplaceDictionary(); dict.InterpretAsRegex = true; dict.Pairs.Add(@"\bword\b", replacementChar); string input = "Come word get word some word"; string result = dict.ReplaceInString(input); Assert.IsTrue(result.Contains(replacementChar)); }