public static List <string> ToWords(String text, IBlacklist exclusions)
        {
            var words = ToWords(text, 2);

            if (exclusions != null)
            {
                words.RemoveAll(p => (exclusions.Countains(p)));
            }

            return(words);
        }
        public void Stream_containing_words_in_lines_results_blacklist_containing_same_words()
        {
            var inputArray = new[] { "public", "void", "MethodName" };
            var lineBrakeDelimitedString = string.Join(Environment.NewLine, inputArray);
            var stringReader             = new StringReader(lineBrakeDelimitedString);

            IBlacklist target = CommonBlacklist.CreateFromStremReader(stringReader);

            Assert.IsInstanceOfType(target, typeof(CommonBlacklist));
            foreach (var inputWord in inputArray)
            {
                Assert.IsTrue(target.Countains(inputWord));
            }
            Assert.AreEqual(inputArray.Length, target.Count);
        }
        public List <string> GetAttributeValues(UIExtension.TaskAttribute attrib, IBlacklist exclusions)
        {
            var values = new List <string>();

            switch (attrib)
            {
            case UIExtension.TaskAttribute.Title:                   values = ToWords(Title);        break;

            case UIExtension.TaskAttribute.Comments:                values = ToWords(Comments); break;

            case UIExtension.TaskAttribute.AllocTo:                 values = AllocTo;                       break;

            case UIExtension.TaskAttribute.Category:                values = Category;                      break;

            case UIExtension.TaskAttribute.Tag:                             values = Tags;                          break;

            case UIExtension.TaskAttribute.DoneDate:                values.Add(DoneDate);           break;

            case UIExtension.TaskAttribute.DueDate:                 values.Add(DueDate);            break;

            case UIExtension.TaskAttribute.StartDate:               values.Add(StartDate);          break;

            case UIExtension.TaskAttribute.AllocBy:                 values.Add(AllocBy);            break;

            case UIExtension.TaskAttribute.Status:                  values.Add(Status);                     break;

            case UIExtension.TaskAttribute.CreationDate:    values.Add(CreationDate);       break;

            case UIExtension.TaskAttribute.CreatedBy:               values.Add(CreatedBy);          break;

            case UIExtension.TaskAttribute.Version:                 values.Add(Version);            break;
            }

            values.RemoveAll(p => (p.Length < 2));

            if (exclusions != null)
            {
                values.RemoveAll(p => (exclusions.Countains(p)));
            }

            return(values);
        }
 public static IEnumerable <string> Filter(this IEnumerable <string> terms, IBlacklist blacklist)
 {
     return
         (terms.Where(
              term => !blacklist.Countains(term)));
 }