private void button10_Click(object sender, EventArgs e) { GeneratorFacade gen; gen = new GeneratorFacade(new MarkovGenerator(System.IO.File.ReadAllText("markov_data/data[okeypotolok.su].txt"))); Console.WriteLine(gen.GenerateParagraphs(20)); }
private void buttonGenerate_Click(object sender, RoutedEventArgs e) { string resultString = string.Empty; try { if (radioSentence.IsChecked.Value) { resultString = _gen.GenerateSentence(Convert.ToInt32(textSentence_MinWords.Text)); } else if (radioWords.IsChecked.Value) { resultString = _gen.GenerateWords(Convert.ToInt32(textWords_NumWords.Text)); } else if (radioTitle.IsChecked.Value) { resultString = _gen.GenerateTitle(Convert.ToInt32(textTitle_NumWords.Text)); } else if (radioParagraphs.IsChecked.Value) { resultString = _gen.GenerateParagraphs(Convert.ToInt32(textParagraphs_NumParagraphs.Text)); } else { throw new NotImplementedException(); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } textOutput.Text = resultString; }
public void T_GenerateParagraphs_Validate_Input() { GeneratorFacade facade = InitBaseFacade(); Assert.Throws <Exceptions.InvalidArguments>( delegate { facade.GenerateParagraphs(0); }); Assert.Throws <Exceptions.InvalidArguments>( delegate { facade.GenerateParagraphs(1, new ParagraphParams { MaxSentences = 1 }); }); Assert.Throws <Exceptions.InvalidArguments>( delegate { facade.GenerateParagraphs(1, new ParagraphParams { MinSentences = -1 }); }); Assert.Throws <Exceptions.InvalidArguments>( delegate { facade.GenerateParagraphs(1, new ParagraphParams { MaxSentences = 4, MinSentences = 5 }); }); Assert.Throws <Exceptions.InvalidArguments>( delegate { facade.GenerateParagraphs(1, new ParagraphParams { ParagraphIndent = -1 }); }); Assert.Throws <Exceptions.InvalidArguments>( delegate { facade.GenerateParagraphs(1, new ParagraphParams { SentenceIndent = -1 }); }); }
public void T_GenerateParagraphs_Length() { GeneratorFacade facade = InitBaseFacade(); //seven sentences should be generated string resultStr = facade.GenerateParagraphs(3, new ParagraphParams { MinSentences = 7, MaxSentences = 7 }); string[] splitSentences = resultStr.Split(facade.Generator.SentenceEnd.ToArray(), StringSplitOptions.RemoveEmptyEntries); Assert.AreEqual(21, splitSentences.Length); }
static void TimeGenerateParagraphs(GeneratorFacade gen, int numIterations, int numParagraphs) { Stopwatch timer = new Stopwatch(); timer.Start(); for (int i = 0; i < numIterations; i++) { gen.GenerateParagraphs(numParagraphs); } timer.Stop(); double baseGenTime = timer.ElapsedMilliseconds / 1000.0; Console.WriteLine(string.Format("Time to generate {0}x{1} paragraphs: {2:0.00} seconds", numIterations, numParagraphs, baseGenTime)); }
public void T_GenerateParagraphs_Indentation() { GeneratorFacade facade = InitBaseFacade(); ParagraphParams defaultParams = new ParagraphParams { ParagraphIndent = 8, SentenceIndent = 4 }; string resultStr = facade.GenerateParagraphs(5, defaultParams); StringBuilder sb = new StringBuilder(); for (int i = 0; i < defaultParams.ParagraphIndent; i++) { sb.Append(" "); } string paragraphIndent = sb.ToString(); sb.Length = 0; for (int i = 0; i < defaultParams.SentenceIndent; i++) { sb.Append(" "); } string sentenceIndent = sb.ToString(); sb.Length = 0; string[] paragraphSplits = resultStr.Split(new string[] { paragraphIndent }, StringSplitOptions.RemoveEmptyEntries); //Verify we got 5 paragraphs Assert.AreEqual(5, paragraphSplits.Length); foreach (string paragraph in paragraphSplits) { string trimmedParagraph = paragraph.TrimEnd(); string[] sentenceSplits = trimmedParagraph.Split(new string[] { sentenceIndent }, StringSplitOptions.RemoveEmptyEntries); //Check sentences are of appropriate sizes Assert.GreaterOrEqual(sentenceSplits.Length, defaultParams.MinSentences); Assert.LessOrEqual(sentenceSplits.Length, defaultParams.MaxSentences); //Check sentences actually end with a punctuation mark foreach (string sentence in sentenceSplits) { Assert.Contains(sentence[sentence.Length - 1], facade.Generator.SentenceEnd); } } }