Esempio n. 1
0
        public void RandomDocumentTest(int minNumParagraphs, int maxNumParagraphs, int minNumSentencesPerParagraph, int maxNumSentencesPerParagraph, string documentSubject)
        {
            RandomNumber   rn            = new RandomNumber();
            RandomDocument rd            = new RandomDocument();
            int            numParagraphs = 0;
            string         doc           = string.Empty;

            try
            {
                _msg.Length = 0;
                _msg.Append("RandomDocumentTest started ...\r\n");
                Program._messageLog.WriteLine(_msg.ToString());

                _str.Length = 0;

                numParagraphs = rn.GenerateRandomInt(minNumParagraphs, maxNumParagraphs);

                doc = rd.GenerateDocument(numParagraphs, minNumSentencesPerParagraph, maxNumSentencesPerParagraph, documentSubject);
                _str.Append(doc);
                Program._messageLog.WriteLine(_str.ToString());
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                Program._messageLog.WriteLine(_msg.ToString());
                AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog);
            }
            finally
            {
                _msg.Length = 0;
                _msg.Append("\r\n... RandomDocumentTest finished.");
                Program._messageLog.WriteLine(_msg.ToString());
            }
        }
Esempio n. 2
0
        public void GenerateRandomDocument()
        {
            RandomDocument randDoc = new RandomDocument();
            int            numParagraphsToGenerate  = 3;
            int            numSentencesPerParagraph = 10;

            try
            {
                _msg.Length = 0;
                _msg.Append("GenerateRandomDocument started ...\r\n");
                Program._messageLog.WriteLine(_msg.ToString());

                numParagraphsToGenerate  = Convert.ToInt32(_frm.txtNumParagraphsToOutput.Text);
                numSentencesPerParagraph = Convert.ToInt32(_frm.txtNumSentencesToOutput.Text);

                if (numSentencesPerParagraph < 5)
                {
                    numSentencesPerParagraph = 5;
                }

                string document = randDoc.GenerateDocument(numParagraphsToGenerate, numSentencesPerParagraph - 2, numSentencesPerParagraph + 3, "Test Program Routine");

                _msg.Length = 0;
                _msg.Append(document);
                Program._messageLog.WriteLine(_msg.ToString());
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                Program._messageLog.WriteLine(_msg.ToString());
                AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog);
            }
            finally
            {
                _msg.Length = 0;
                _msg.Append("\r\n... GenerateRandomDocument finished.");
                Program._messageLog.WriteLine(_msg.ToString());
            }
        }
        /// <summary>
        /// Routine to create random documents.
        /// </summary>
        /// <param name="numRows">Number of data rows to generate containing random sentences.</param>
        /// <param name="minNumParagraphs">Minimum number of paragraphs in a data row.</param>
        /// <param name="maxNumParagraphs">Maximum number of paragraphs in a data row.</param>
        /// <param name="minNumSentencesPerParagraph">Minimum number of sentences per paragraph.</param>
        /// <param name="maxNumSentencesPerParagraph">Maximum number of sentences per paragraph.</param>
        /// <param name="includeDocumentTitle">If true, a line containing a random phrase that serves as document title is included at the beginning of each random document. If false, no title is generated.</param>
        /// <returns>ADO.NET DataTable containing the random documents.</returns>
        public DataTable CreateRandomDocumentDataTable(int numRows, string minNumParagraphs, string maxNumParagraphs, string minNumSentencesPerParagraph, string maxNumSentencesPerParagraph, bool includeDocumentTitle)
        {
            DataTable      dt           = new DataTable();
            RandomNumber   rn           = new RandomNumber();
            PFRandomWord   randWord     = new PFRandomWord();
            RandomDocument randDocument = new RandomDocument();
            StringBuilder  title        = new StringBuilder();

            try
            {
                int minimumNumberOfParagraphs            = Convert.ToInt32(minNumParagraphs);
                int maximumNumberOfParagraphs            = Convert.ToInt32(maxNumParagraphs);
                int minimumNumberOfSentencesPerParagraph = Convert.ToInt32(minNumSentencesPerParagraph);
                int maximumNumberOfSentencesPerParagraph = Convert.ToInt32(maxNumSentencesPerParagraph);

                DataColumn dc = new DataColumn("RandomValue");
                dc.DataType = Type.GetType("System.String");
                dt.Columns.Add(dc);

                for (int i = 0; i < numRows; i++)
                {
                    DataRow dr = dt.NewRow();

                    title.Length = 0;
                    if (includeDocumentTitle)
                    {
                        int numWordsInTitle = rn.GenerateRandomInt((int)3, (int)7);
                        for (int t = 0; t < numWordsInTitle; t++)
                        {
                            if (t > 0)
                            {
                                title.Append(" ");
                            }
                            string temp = randWord.GetWord();
                            temp = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(temp.ToLower());
                            title.Append(temp);
                        }
                    }

                    int    numParagraphs = rn.GenerateRandomInt(minimumNumberOfParagraphs, maximumNumberOfParagraphs);
                    string str           = randDocument.GenerateDocument(numParagraphs, minimumNumberOfSentencesPerParagraph, maximumNumberOfSentencesPerParagraph, title.ToString());


                    dr[0] = str;
                    dt.Rows.Add(dr);
                }
            }
            catch (System.Exception ex)
            {
                _msg.Length = 0;
                _msg.Append("Error in CreateRandomDocumentDataTable routine.\r\n");
                _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex));
                throw new System.Exception(_msg.ToString());
            }
            finally
            {
                ;
            }

            return(dt);
        }