Exemple #1
0
        public void Semanter()
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();
            List <long> time     = new List <long>();
            Semanter    Samantha = new Semanter("../../../Resources/Dictionary.txt", "../../../Resources/commonSfw.txt");

            String[] All = { "United", "States", "America", "Living", "Grapes", "Greens", "curiousity", "suggestions", "Live", "Grape", "Green", "curious", "suggest" };
            time.Add(sw.ElapsedMilliseconds);
            Samantha.StemWord(All[1].ToLower().Trim());
            time.Add(sw.ElapsedMilliseconds);

            for (int i = 0; i < All.Length; i++)
            {
                time.Add(sw.ElapsedMilliseconds);
                Samantha.StemWord(All[i].ToLower().Trim());
                time.Add(sw.ElapsedMilliseconds);
            }
            time.Add(11111111111111);
            for (int i = 0; i < All.Length; i++)
            {
                time.Add(sw.ElapsedMilliseconds);
                Samantha.StemWord(All[i].ToLower().Trim());
                time.Add(sw.ElapsedMilliseconds);
            }
            String[] Actuals   = { "Living", "Grapes", "Greens", "curiousity", "suggestions" };
            String[] Expecteds = { "Live", "Grape", "Green", "curious", "suggest" };
            for (int i = 0; i < Actuals.Length; i++)
            {
                Assert.AreEqual <String>(Expecteds[i], Samantha.StemWord(Actuals[i]));
            }
        }
Exemple #2
0
 public LblBoldWords(String bold)
 {
     this.bolded = new HashSet <string>();
     this.sam    = Querier.Invt.Samantha;
     bold        = bold.ToLower();
     String[] bolded = bold.Split(Semanter.punctuations, StringSplitOptions.RemoveEmptyEntries);
     foreach (string boldStem in bolded)
     {
         this.bolded.Add(sam.StemWord(boldStem));
     }
 }
Exemple #3
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Point drawPoint = new Point(0, 0);

            String[] keep          = new[] { "]", "[" };
            String[] relevantWords = Semanter.Splitwords(Text, keep);
            //Fonts
            Font normalFont = this.Font;
            Font boldFont   = new Font(normalFont, FontStyle.Bold);

            if (this.Font.Underline)
            {
                boldFont = new Font(normalFont, newStyle: FontStyle.Bold | FontStyle.Underline);
            }
            foreach (String word in relevantWords)
            {
                Size boldSize   = TextRenderer.MeasureText(word, boldFont);
                Size normalSize = TextRenderer.MeasureText(word, normalFont);
                if (drawPoint.X + boldSize.Width > Width)
                {
                    drawPoint = new Point(0, drawPoint.Y + boldSize.Height);
                }
                if (bolded.Contains(sam.StemWord(word.ToLower())))
                {
                    Rectangle boldRect = new Rectangle(drawPoint, boldSize);
                    drawPoint = new Point(drawPoint.X + boldRect.Width, drawPoint.Y);
                    TextRenderer.DrawText(e.Graphics, " " + word + " ", boldFont, boldRect, ForeColor);
                }
                else
                {
                    Rectangle normalRect = new Rectangle(drawPoint, normalSize);
                    drawPoint = new Point(drawPoint.X + normalSize.Width, drawPoint.Y);
                    TextRenderer.DrawText(e.Graphics, " " + word + " ", normalFont, normalRect, ForeColor);
                }
            }
        }