示例#1
0
        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");
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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));
        }