public void Process_DoesNotError_GivenPlainEmail()
        {
            //Arrange
            IRuleReader   ruleReader    = Factory.GetRuleReader();
            InternalRules internalRules = new InternalRules(ruleReader, Factory.RuleReader_Path);

            Application app      = Factory.GetOutlookApplication();
            MailItem    mail     = Factory.GetTestMail(app);
            bool        expected = false;
            bool        actual   = false;

            //Act
            try
            {
                internalRules.Process(mail);
                internalRules.Process(mail);
                internalRules.Process(mail);
                internalRules.Process(mail);
                internalRules.Process(mail);
            }
            catch
            {
                actual = true;
            }


            //Assert
            Assert.AreEqual(expected, actual);
        }
 public IEnumerable <IBrokenRule> InvalidRules(bool recheck = true)
 {
     brokenRules(recheck).AddRange(ValidationPackages.Validate(this));
     InternalRules.Where((x) => x.IsBroken(this)).ForEach((x) => broke.Add(new BrokenRule(x, this)));
     return(broke);
 }