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);
                }
            }
        }
Esempio n. 2
0
        public void Register_NewParagraphTest()
        {
            var output = new CssClass();

            _paragraphClassFactory
            .Build(Arg.Any <ParagraphClassParam>())
            .Returns(output);
            var pPr = BuildPPr();

            var result = _instance.RegisterParagraph(pPr, (5, 6));

            Assert.AreSame(result, output);

            var param = ParagraphParams.Single();

            Assert.AreSame(pPr, param.InlineProperties);
            Assert.AreEqual("pstyle", param.StyleId);
            Assert.AreEqual(5, param.NumberingId);
            Assert.AreEqual(6, param.NumberingLevel);
            Assert.AreSame(result, _instance.Registrations.Single());
        }